Функция SysMsgProc


Процедура фильтра (hook) SysMsgProc - определяемая библиотекой функция повторного вызова, используемая функцией SetWindowsHookEx. Система вызывает эту функцию после события ввода данных, которое происходит в диалоговом окне, окне сообщения, меню или  на линейке прокрутки, но прежде, чем сообщение, порожденное событием ввода данных, будет обработано. Функция может осуществлять текущий контроль за сообщениями любого диалогового окна, окна сообщения, меню или линейки прокрутки в системе.

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

 Синтаксис

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

Параметры

nCode

[in] Устанавливает тип события ввода данных, которое породило сообщение. Если nCode - меньше чем нуль, процедура фильтра (hook) должна переправить сообщение в функцию CallNextHookEx без дальнейшей обработки и должна возвратить значение, возвращенное CallNextHookEx. Этим параметром может быть одно из ниже перечисленных значений.

 

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

wParam

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

lParam

[in] Указатель на структуру сообщения MSG.

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

Если nCode - меньше чем нуль, процедура фильтра (hook) должна возвратить значение, возвращенное CallNextHookEx.

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

Замечания

Приложение устанавливает процедуру фильтра (hook), определяя тип фильтра как WH_SYSMSGFILTER и указатель на  эту процедуру фильтра при вызове функции SetWindowsHookEx.

Смотри также

Обзор Фильтр-процедуры (hooks) событий, Функции, используемые фильтрами (hook), CallNextHookEx, MSG, SetWindowsHookEx

Размещение и совместимость SysMsgProc

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Нет

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz