Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

HOOK - как заблокировать сообщение.   Найти похожие ветки 

 
OlegY   (2004-01-29 21:51) [0]

Уважаемые мастера.
В своей программе я ставлю HOOK типа WH_GETMESSAGE.
Что мне нужно сделать, чтобы после обработки некоторых сообщений они не проходили дальше - в окно, для которого они генерились.
Заранее спасибо.


 
Rouse_ ©   (2004-01-29 23:58) [1]

Не делать CallNextHookEx


 
Almaz ©   (2004-01-30 00:12) [2]


> Rouse_ ©   (29.01.04 23:58) [1]
> Не делать CallNextHookEx

Боюсь, это не поможет - CallNextHookEx используеться для передачи управления ранее установленным ловушкам, заблокировать сообщение оно не сможет.


> OlegY   (29.01.04 21:51)  
> Уважаемые мастера.
> В своей программе я ставлю HOOK типа WH_GETMESSAGE.
> Что мне нужно сделать, чтобы после обработки некоторых сообщений
> они не проходили дальше - в окно, для которого они генерились.

В MSDN написано: The GetMsgProc hook procedure can examine or modify the message. After the hook procedure returns control to the system, the GetMessage or PeekMessage function returns the message, along with any modifications, to the application that originally called it.. Таким образом, если вы измените сообщение в процедуре ловушки, то окно получит уже измененное сообщение. Совсем блокировать прохождение сообщения окну вы не сможете, но изменить это сообщение на пустое - легко. Достаточно написать

PMSG(lParam)^.message = WM_NULL.

WM_NULL - это пустое сообщение. Как правило, оно не обрабатывается оконной функцией.

Удачи.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
14-1078402407
Petr V. Abramov
2004-03-04 15:13
2004.04.04
Жизнь на Марсе есть!


3-1078594297
Nikis
2004-03-06 20:31
2004.04.04
Таблица DOS-кодировки


14-1079092146
Awersom
2004-03-12 14:49
2004.04.04
Чат


9-1064428634
BANick
2003-09-24 22:37
2004.04.04
реализация Reflection в OpenGl


9-1064659942
Nail
2003-09-27 14:52
2004.04.04
GLScene & ODE