Re: WH_SYSMSGFILTER Hook
От: BlackSpy  
Дата: 19.07.04 10:20
Оценка:
Здравствуйте, SvarogBarg, Вы писали:

SB>Уважаемые коллеги.

SB>Ставлю hook WH_SYSMSGFILTER обрабатываю HookCode = MSGF_MENU и дальше смотрю что за сообщения приходят в lParam (это указатель на структуру MSG) message. Так вот там при открытии popup меню вываливаются сообщения WM_MOUSEMOVE,WM_MENUSELECT,WM_TIMER но никак не WM_INITMENU или WM_INITMENUPOPUP.
SB>Так как все-таки отловить именно момент открытия popup меню.
SB>Спасибо.

WH_SYSMSGFILTER ловит далеко не все мессаги — лучше использовать WH_CALLWNDPROC.
WM_INITXXXX посылается не менюхе, а окну-родителю.

Поэтому лучше либо обрабатывать WM_INITXXX в своем окне, либо использовать WH_CALLWNDPROC. Если вы хотите блокировать либо менять эти сообщения "на лету", то хуками эта задача не решается. Придется перехватывать SendMessage/PostMessage, но лучше просто придумать как обойтись без модификации WM_INITXXXX-сообщений.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.