![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить сообщение?
}{enon © (2004-02-09 18:14:00)В DLL ставлю глобальный хук WH_GETMESSAGE. Как получить информацию о сообщении, которое перехватывается (т.е. что нужно использовать - GetMessage, PeekMessage или lParam - и как)? Сообщение - WM_NCPAINT, но лучше, если это будет работать для любого сообщения.
Заранее спасибо!
}{enon (2004-02-10 11:14:00) [1]Как говорится, дело ясное что дело темное. Ладно, буду разбираться, одно плохо - в случае ошибки в коде выход обычно всего один - reboot. Всем спасибо.
Digitman (2004-02-10 08:20:00) [2]Before passing the retrieved message to the destination window procedure, the system passes the message to the hook procedure.
}{enon (2004-02-09 19:44:00) [3]Ждет?! Не понял, если я вызываю GetMessage/PeekMessage, работа моего кода прерывается пока не сработают все ловушки? Я думал все наоборот - мой код заканчивает работать и в самом конце вызывается CallNextHook...
Digitman (2004-02-09 18:57:00) [4]
> если адрес к структуре MSG и так известен
где ? известен ? тот кто вызвал GetMessage и PeekMessage, еще ждет пока ты не сподобишься выполнить CallNextHook
вот в lParam тебе как раз адрес этой структуры и передается для анализа, прежде чем вернуть управление по цепочке хуков и , в конечном итоге, вернуть управление коду, вызывавшему GetMessage или PeekMessage
}{enon (2004-02-09 18:49:00) [5]Просто что означает описание lParam для GetMsgProc (Points to an MSG structure that contains details about the message) - если адрес к структуре MSG и так известен (кстати, как его использовать?), то зачем тогда GetMessage и PeekMessage?
MBo (2004-02-09 18:18:00) [6]в хелпе же написано
GetMsgProc и структура MSG