Фильтр WH_GETMESSAGE
Фильтр WH_GETMESSAGE получает управление, когда функция GetMessage или PeekMessage возвращают выбранное из очереди сообщение. Функция фильтра должна находиться в DLL-библиотеке.
Приведем прототип функции фильтра типа WH_GETMESSAGE:
LRESULT CALLBACK GetMsgProc( int code, // код действия WPARAM wParam, // не определено LPARAM lParam); // адрес структуры MSG
Параметр lParam содержит указатель на структуру MSG , содержащую перехваченное сообщение:
typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG;
Функция фильтра может изменить любой параметр сообщения и даже его код. В последнем случае произойдет замена одного сообщения на другое.
Возвращаемое функцией фильтра значение должно всегда равняться нулю.