Поделиться через


Функция SysMsgProc

Описание

Определяемая приложением или библиотекой функция обратного вызова, используемая с функцией SetWindowsHookExA/SetWindowsHookExW . Система вызывает эту функцию после события ввода в диалоговом окне, окне сообщения, меню или полосе прокрутки, но до обработки сообщения, созданного событием ввода. Функция может отслеживать сообщения для любого диалогового окна, окна сообщения, меню или полосы прокрутки в системе.

Тип HOOKPROC определяет указатель на эту функцию обратного вызова. SysMsgProc — это заполнитель для имени функции, определяемой приложением или библиотекой.

LRESULT CALLBACK SysMsgProc(
  _In_ int    nCode,
       WPARAM wParam,
  _In_ LPARAM lParam
);

Параметры

nCode [in]

Тип: int

Тип входного события, создающего сообщение.

Если значение nCode меньше нуля, процедура перехватчика должна передать сообщение функции CallNextHookEx без дальнейшей обработки и возвращать значение, возвращаемое CallNextHookEx.

Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
MSGF_DIALOGBOX 0 Входное событие произошло в окне сообщения или диалоговом окне.
MSGF_MENU 2 Входное событие произошло в меню.
MSGF_SCROLLBAR 5 Входное событие произошло на полосе прокрутки.

wParam

Тип: WPARAM

Этот параметр не используется.

lParam [in]

Тип: LPARAM

Указатель на структуру сообщений MSG .

Возвращаемое значение

Тип: LRESULT

Если значение nCode меньше нуля, процедура перехватчика должна возвращать значение, возвращаемое CallNextHookEx.

Если nCode больше или равен нулю, а процедура перехватчика не обработала сообщение, настоятельно рекомендуется вызвать CallNextHookEx и вернуть возвращаемое значение; В противном случае другие приложения, которые установили WH_SYSMSGFILTER перехватчики, не будут получать уведомления о перехватчиках и в результате могут работать неправильно.

Если процедура перехватчика обработала сообщение, она может вернуть ненулевое значение, чтобы система не передала сообщение в процедуру целевого окна.

Комментарии

Приложение устанавливает процедуру перехватчика, указывая тип перехватчика WH_SYSMSGFILTER и указатель на процедуру перехватчика в вызове функции SetWindowsHookExASetWindowsHookExA /SetWindowsHookExW.

См. также раздел

CallNextHookEx

MSG

SetWindowsHookEx

Обработчики