Как отправить событие щелчка мышью в скрытое окно? - PullRequest
2 голосов
/ 25 октября 2009

Признавая, что может потребоваться немного взаимодействия, как я могу отправить событие щелчка мышью в окно, которое в данный момент не отображается? У меня есть приложение, которое работает как служба и работает со скрытыми окнами, и ему нужно отправить событие щелчка мышью одному из них, даже если оно не может отобразить окно.

Обычный способ сделать это - просто послать клик на экран в соответствующем месте, но, очевидно, этот метод не сработает в этом случае. Идеи?

Ответы [ 2 ]

3 голосов
/ 25 октября 2009

Если вы можете получить HWND окна, это довольно легко. Используйте PostMessage () с WM_LBUTTONDOWN для левого клика.

Пример: нажмите на позицию 10,10 (не проверено, C)

HWND hWnd = (hwnd of window)
WORD mouseX = 10;
WORD mouseY = 10;
PostMessage(hWnd,WM_LBUTTONDOWN,0,MAKELPARAM(mouseX,mouseY));
2 голосов
/ 25 октября 2009

Используйте Spy ++, чтобы узнать, какие сообщения Windows отправляются окну, когда оно отображается, и вы физически щелкаете по нему мышью, а затем используете SendMessage для прямой отправки этих сообщений.

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