Win32 API. Hooks (хуки)
Страница 11. Функция GetMsgProc


Функция GetMsgProc

(ПроцедураПолученияСообщения)

Подключаемая процедура GetMsgProc - определяемая программой или определенная библиотекой функция повторного вызова, которую система вызывает всякий раз, когда функция GetMessage извлекает сообщение из очереди сообщений прикладной программы. Перед передачей извлеченного сообщения в оконную процедуру назначения, система передает сообщение в подключаемую процедуру.

Синтаксис

LRESULT CALLBACK GetMsgProc
(
int code,// код hook-точки
WPARAM wParam,// флажок удаления
LPARAM lParam// адрес структуры с сообщением
);

Параметры
code
Определяет, должна ли подключаемая процедура обрабатывать сообщение. Если code - HC_ACTION, фильтр - процедура должна обработать сообщение. Если code - меньше чем нуль, фильтр - процедура должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки и должна возвратить значение, возвращенное CallNextHookEx.
wParam
Определяет, было ли сообщение удалено из очереди. Этот параметр может быть одним из следующих значений:

  • PM_NOREMOVE - Определяет, что сообщение не было удалено из очереди. (Прикладная программа вызвала функцию PeekMessage, установив флажок PM_NOREMOVE.)
  • PM_REMOVE - Определяет, что сообщение было удалено из очереди. (Прикладная программа вызвала GetMessage, или она вызвала функцию PeekMessage, установив флажок PM_REMOVE.)

lParam
Указывает на структуру MSG, которая содержит подробности о сообщении.

Возвращаемые значения
Возвращаемое значение должно быть ноль.

Замечания
Подключаемая процедура GetMsgProc может исследовать или изменить сообщение. После того, как фильтр - процедура возвратит управление системе, функция GetMessage возвращает значение сообщения, вместе с любыми изменениями, в прикладную программу, которая первоначально вызвала её.
Прикладная программа устанавливает эту подключаемую процедуру, определяя тип hook-точки как WH_GETMESSAGE и адрес подключаемой процедуры при вызове функции SetWindowsHookEx.
GetMsgProc - метка - заместитель для определяемого программой или определенного библиотекой имени функции.

Смотри также
CallNextHookEx, GetMessage, MSG, PeekMessage, SetWindowsHookEx

Размещение и совместимость GetMsgProc

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотекаОпределяется пользователем
Заголовочный файлwinuser.h
UnicodeНет
Замечания по платформеHOOKPROC

 
« Предыдущая статья   Следующая статья »