Как отправить событие щелчка мышью в игровое приложение? - PullRequest
0 голосов
/ 19 мая 2011

Я пытаюсь отправить событие щелчка мышью в игровое приложение. Во-первых, я использую Spy ++, чтобы найти сообщение, которое получает приложение. Я вижу что-то вроде: WM_MOUSEACTIVATE, WM_WINDOWPOSCHANGING, WM_ACTIVATEAPP, WM_ACTIVATE, WM_SETFOCUS, ... Я пытаюсь отправить то же, что я вижу на Spy ++, но это не работает. Как отправить клик мышкой в ​​игровое приложение, не придавая ему фокуса? , он запускается в оконном режиме. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Лучший способ автоматизации приложений и игр - через SendInput .Хотя теоретически должно быть возможно управлять приложением через WM_LUBTTONDOWN и т. Д., Многие приложения считывают состояние ключа напрямую через API более низкого уровня (например, GetAsyncKeyState), которые не изменяют свое состояние, чтобы отражать сообщения, обработанные из очереди сообщений.

Использование SendInput требует фактической установки игры на передний план, поскольку входные события синтезируются на низком уровне и, таким образом, доставляются в активное / сфокусированное окно.

1 голос
/ 19 мая 2011

Вы хотите WM_LMOUSEDOWN.Вы всегда можете проверить документацию MSDN, какие сообщения что означают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...