Win32 API. Hooks (хуки)
Страница 19. Функция 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

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