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


Функция 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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll
набор API ext-ms-win-ntuser-message-l1-1-0 (представлено в Windows 8)

См. также

концептуальные

крючки

MSG

MessageProc

Справочник

SetWindowsHookEx

SysMsgProc