Страница: 1 |
Страница: 1 |
Вопрос: Клавиатура
Добавлено: 21.09.11 10:31
Автор вопроса: Дмит | Web-сайт:
Возможно ли отослать процессу сообщение о нажатии клавиши, не используя winAPI? Известно hWnd или PID процесса.
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #1
Добавлено: 21.09.11 20:31
А какой смысл не использовать API?
Номер ответа: 2
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #2
Добавлено: 22.09.11 09:39
Дело в том, что процесс не воспринимает сообщения API.
Вероятно защищён, а физические нажатия клавиш вполне воспринимает.
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 22.09.11 15:28
Дело в том, что процесс не воспринимает сообщения API.
Никакой процесс не воспринимает WinAPI сообщения. Зато они прекрасно принимают Windows Messages. Ты уж разберись, что тебе надо и что оно там у тебя не принимает
Номер ответа: 4
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #4
Добавлено: 22.09.11 17:13
Какой процесс? Как ты посылал сообщения?
Номер ответа: 5
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #5
Добавлено: 23.09.11 08:57
Сори, я действительно не силён в этом, по этому и прошу помощи.
Сообщение посылаю :
SendMessage hwnd, %WM_KEYDOWN, wParam, lParam
SendMessage hwnd, %WM_KEYUP, wParam, lParam
Код работает для других программ.
Хотел бы всё тоже сделать на более низком уровне, но знаний мало(.
Номер ответа: 6
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #6
Добавлено: 24.09.11 20:49
имхо тут два варианта: либо ты посылаешь не туда (не тому окну), либо не то (программа игнорирует твои сообщения).
какой конкретно проге ты пытаешься внушить нажатия клавишь?
Номер ответа: 7
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #7
Добавлено: 26.09.11 08:20
Посылаю туда и то , первые несколько сообщений проходят и обрабатываются как надо. Но потом по видимому срабатывает защита, которая каким-либо способом определяет, что физически нажимаются не те клавиши или что идут сообщения не от клавиатуры, а от др. программы
Ну, если конечная задача, то это кликер или мультиплеер: программа создаёт горячие клавиши в системе, при нажатии этих клавиш посылает сообщение о нажатии клавиши (если конкретно F1-F12) неактивному окну игры.
Всё это просто позволяет запускать 2 окна игры и управлять ими не переключаясь, а из одного. Не везде это приветствуется администрацией сервера (игра онлайн), по этому ставят защиту от простой, до полного скрытия процессов и перехвате использования функций WinAPI.
PS думаю я не создаю криминальную программу, поскольку используя 2 компьютера, можно создать аналогичную среду для игры двумя окнами.
Т.е. компенсирую нехватку физического железа программными методами
Номер ответа: 8
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #8
Добавлено: 26.09.11 08:23
Стоит ли пытаться для моей задачи использовать Assembler? Если стоит и возможно, то подскажите куда копать?
Номер ответа: 9
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #9
Добавлено: 26.09.11 16:16
Лично мне кажется, что не стоит. Можно конечно, но я бы попытался обойтись без него.
может может быть дело в том, что сообщения посылаются неактивному окну?
ты пытался делать его активным?
Номер ответа: 10
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #10
Добавлено: 26.09.11 17:08
нда, у фроста есть защита для линейки (дада, не скрывай своих наклонностей) от подобных фишек
Номер ответа: 11
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #11
Добавлено: 27.09.11 08:36
это уже проверено, просто делаю активным и эффекты те же))
да защита у них
а вот на др. сервере всё работает только несколько сообщений, потом блокируется
PS кстати в поисках встретил топик, где обсуждалась обратная задача, было такое ощущение, что там спрашивали совета программисты фроста