Win32 API. Hooks (хуки) - Функция SysMsgProc
ОГЛАВЛЕНИЕ
Функция SysMsgProc
(ПроцедураСистемныхСообщений)
Подключаемая процедура SysMsgProc - определяемая библиотекой функция повторного вызова, которую система вызывает после того, как происходит событие ввода в диалоговом окне, окне сообщений меню, или линейке прокрутки, но до того, как сообщение, сгенерированное входящим событием обрабатывается. Фильтр - процедура может контролировать сообщения для любого диалогового окна, окна сообщений, меню или линейки прокрутки в системе.
Синтаксис
LRESULT CALLBACK SysMsgProc
(
int nCode, // флажок сообщения
WPARAM wParam, // не определен
LPARAM lParam // адрес структуры с данными сообщения
);
Параметры
nCode
Определяет тип события ввода, которое генерировало сообщение. Этот параметр может быть одним из следующих значений:
- MSGF_DIALOGBOX - Произошло событие ввода в окне сообщений или диалоговом окне.
- MSGF_MENU - Произошло событие ввода в меню.
- MSGF_SCROLLBAR - Произошло событие ввода в линейке прокрутки.
- MSGF_NEXTWINDOW - Произошло событие ввода в результате пользовательского нажатия комбинации клавиш ALT+TAB, чтобы активизировать другое окно.
Если nCode - меньше чем нуль, подключаемая процедура должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки, а возвратить должна значение возвращенное CallNextHookEx.
wParam
Определяет значение ПУСТО (NULL)
lParam
Указывает на структуру MSG сообщения.
Возвращаемые значения
Если подключаемая процедура обрабатывает сообщение, величина возвращаемого значения должна быть отличная от нуля. Иначе, значение должно быть нулевое.
Замечания
Прикладная программа устанавливает подключаемую процедуру, путем определения типа hook-точки как WH_SYSMSGFILTER и ее адреса при вызове функции SetWindowsHookEx.
SysMsgProc - метка - заместитель для определенного библиотекой имени функции.
Смотри также
CallNextHookEx, MSG, SetWindowsHookEx
Размещение и совместимость SysMsgProc
Windows NT Да
Win95 Да
Win32s Да
Импортируемая библиотека Определяется поьзователем
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе HOOKPROC