Получить дескриптор окна, на котором была нажата кнопка мыши - PullRequest
1 голос
/ 29 октября 2009

Привет, я использую Windows Hook, я установил мышиный хук, общесистемный, и он работает отлично. Теперь есть проблема, мне нужно получить дескриптор окна, на котором была нажата мышь. Как мне это сделать? Передает ли событие ловушки мыши эту информацию?

Ответы [ 3 ]

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

Поскольку вы используете WH_MOUSE_LL, вы создаете низкоуровневый хук мыши, который фактически получает указатель на MSLLHOOKSTRUCT, который не имеет члена hwnd.

Вам необходимо установить обычный хук мыши, используя WH_MOUSE; вы получите указатель на ожидаемый MOUSEHOOKSTRUCT ..

1 голос
/ 29 октября 2009

Используйте функцию WindowFromPoint, чтобы получить окно в заданном месте.

0 голосов
/ 29 октября 2009

Если вы установите WH_MOUSE hook , ваш MouseProc получает указатель на структуру MOUSEHOOKSTRUCT . Поскольку член hwnd имеет значение NULL, вы можете попробовать использовать WindowFromPoint с членом pt структуры. Член pt - это координата в момент создания сообщения.

...