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


Функция CallMsgFilterA (winuser.h)

Передает указанный код сообщения и перехватчика в процедуры перехватчика, связанные с WH_SYSMSGFILTER и WH_MSGFILTER перехватчиками. Процедура перехватчика WH_SYSMSGFILTER или WH_MSGFILTER — это определяемая приложением функция обратного вызова, которая проверяет и при необходимости изменяет сообщения для диалогового окна, окна сообщения, меню или полосы прокрутки.

Синтаксис

BOOL CallMsgFilterA(
  [in] LPMSG lpMsg,
  [in] int   nCode
);

Параметры

[in] lpMsg

Тип: LPMSG

Указатель на структуру MSG , содержащую сообщение для передачи в процедуры перехватчика.

[in] nCode

Тип: int

Код, определяемый приложением, используемый процедурой перехватчика для определения способа обработки сообщения. Код не должен иметь то же значение, что и системные коды перехватчиков (MSGF_ и HC_), связанные с WH_SYSMSGFILTER и WH_MSGFILTER перехватчиками.

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

Тип: BOOL

Если приложение должно обработать сообщение дальше, возвращаемое значение равно нулю.

Если приложение не должно обрабатывать сообщение дальше, возвращается ненулевое значение.

Комментарии

Система вызывает CallMsgFilter , чтобы позволить приложениям проверять поток сообщений и управлять ими во время внутренней обработки диалоговых окон, окон сообщений, меню и полос прокрутки или при активации пользователем другого окна с помощью сочетания клавиш ALT+TAB.

Установите эту процедуру перехватчика с помощью функции SetWindowsHookEx .

Примеры

Пример см. в разделе WH_MSGFILTER и WH_SYSMSGFILTER Перехватчики.

Примечание

Заголовок winuser.h определяет CallMsgFilter как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-message-l1-1-0 (появилось в Windows 8)

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

Основные понятия

Обработчики

MSG

MessageProc

Справочные материалы

SetWindowsHookEx

SysMsgProc