Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Перехватчик — это точка в системном механизме обработки сообщений, где приложение может установить подпрограмму для мониторинга трафика сообщений в системе и обработки определенных типов сообщений, прежде чем они достигают целевой процедуры окна.
В этом разделе
Имя | Описание |
---|---|
Обзор перехватчика | Описывает, как следует использовать крючки. |
использование крючков | Демонстрирует, как выполнять задачи, связанные с перехватчиками. |
Справочник крючка | Содержит ссылку на API. |
Функции перехватчика
Имя | Описание |
---|---|
CallMsgFilter | Передает указанное сообщение и код перехватчика процедурам перехватчика, связанным с процедурами WH_SYSMSGFILTER и WH_MSGFILTER перехватчика. |
CallNextHookEx | Передает сведения об перехватчике в следующую процедуру перехватчика в текущей цепочке крюков. Процедура перехватчика может вызывать эту функцию до или после обработки сведений об перехватчике. |
CallWndProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию перед вызовом процедуры окна для обработки сообщения, отправленного в поток. |
CallWndRetProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию после вызова функции SendMessage. Процедура перехватчика может проверить сообщение; он не может изменить его. |
CBTProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию перед активацией, созданием, уничтожением, минимизацией, максимизированием, перемещением или изменением размера окна; перед выполнением системной команды; перед удалением события мыши или клавиатуры из очереди системных сообщений; перед настройкой фокуса клавиатуры; или перед синхронизацией с системной очередью сообщений. Приложение для обучения на основе компьютеров (CBT) использует эту процедуру перехватчика для получения полезных уведомлений из системы. |
DebugProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию перед вызовом процедур перехватчика, связанных с любым типом перехватчика. Система передает сведения о вызываемом перехватчике в процедуру перехватчика DebugProc, которая проверяет информацию и определяет, следует ли вызывать перехватчик. |
ForegroundIdleProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию всякий раз, когда поток переднего плана будет неактивен. |
GetMsgProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию всякий раз, когда функция GetMessage или PeekMessage извлекла сообщение из очереди сообщений приложения. Перед возвращением полученного сообщения вызывающей системе передается сообщение в процедуру перехватчика. |
JournalPlaybackProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Как правило, приложение использует эту функцию для воспроизведения ряда сообщений мыши и клавиатуры, записанных ранее процедурой перехватчика JournalRecordProc. Если установлена процедура JournalPlaybackProc крючок, обычные входные данные мыши и клавиатуры отключены. |
JournalRecordProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Функция записывает сообщения, которые система удаляет из очереди системных сообщений. Позже приложение может использовать процедуру перехватчика JournalPlaybackProc для воспроизведения сообщений. |
KeyboardProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию всякий раз, когда приложение вызывает GetMessage или функцию PeekMessage и есть клавиатурное сообщение (WM_KEYUP или WM_KEYDOWN) для обработки. |
LowLevelKeyboardProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию каждый раз, когда новое событие ввода клавиатуры будет отправляться в очередь ввода потока. |
LowLevelMouseProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию каждый раз, когда новое событие ввода мыши будет отправляться в очередь ввода потока. |
MessageProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию после того, как входное событие возникает в диалоговом окне, окне сообщения, меню или полосе прокрутки, но перед обработкой сообщения, созданного событием ввода. Процедура перехватчика может отслеживать сообщения для диалогового окна, поля сообщения, меню или полосы прокрутки, созданной определенным приложением или всеми приложениями. |
MouseProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию всякий раз, когда приложение вызывает GetMessage или функцию PeekMessage и есть сообщение мыши для обработки. |
SetWindowsHookEx | Устанавливает процедуру перехватчика, определяемую приложением, в цепочку перехватчиков. Вы установите процедуру перехватчика для мониторинга системы для определенных типов событий. Эти события связаны либо с определенным потоком, либо со всеми потоками в одном рабочем столе с вызывающим потоком. |
ShellProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Функция получает уведомления о событиях оболочки из системы. |
SysMsgProc | Определяемая приложением или библиотека функция обратного вызова, используемая с функцией SetWindowsHookEx. Система вызывает эту функцию после того, как входное событие возникает в диалоговом окне, окне сообщения, меню или полосе прокрутки, но перед обработкой сообщения, созданного событием ввода. Функция может отслеживать сообщения для любого диалогового окна, поля сообщения, меню или полосы прокрутки в системе. |
UnhookWindowsHookEx | Удаляет процедуру перехватчика, установленную в цепочке перехватчиков функцией SetWindowsHookEx. |
Уведомления об перехвате
Имя | Описание |
---|---|
WM_CANCELJOURNAL | Опубликовано в приложении, когда пользователь отменяет действия журнала приложения. Сообщение публикуется с дескриптором NULL окна. |
WM_QUEUESYNC | Отправляется приложением CBT, чтобы разделить сообщения, введенные пользователем, от других сообщений, отправленных через процедуру WH_JOURNALPLAYBACK. |
Структуры перехватчика
Имя | Описание |
---|---|
CBT_CREATEWND | Содержит сведения, передаваемые в процедуру перехватчика WH_CBT, CBTProcперед созданием окна. |
CBTACTIVATESTRUCT | Содержит сведения, передаваемые в процедуру перехватчика WH_CBT, CBTProcперед активацией окна. |
CWPRETSTRUCT | Определяет параметры сообщения, передаваемые процедуре перехватчика WH_CALLWNDPROCRET, CallWndRetProc. |
CWPSTRUCT | Определяет параметры сообщения, передаваемые процедуре перехватчика WH_CALLWNDPROC, CallWndProc. |
DEBUGHOOKINFO | Содержит сведения об отладке, передаваемые процедуре перехватчика WH_DEBUG, DebugProc. |
EVENTMSG | Содержит сведения об аппаратном сообщении, отправленном в очередь системных сообщений. Эта структура используется для хранения сведений о сообщении для функции обратного вызова JournalPlaybackProc. |
KBDLLHOOKSTRUCT | Содержит сведения о низкоуровневом событии ввода клавиатуры. |
MOUSEHOOKSTRUCT | Содержит сведения о событии мыши, переданном процедуре перехватчика WH_MOUSE, MouseProc. |
MOUSEHOOKSTRUCTEX | Содержит сведения о событии мыши, переданном процедуре перехватчика WH_MOUSE, MouseProc. |
MSLLHOOKSTRUCT | Содержит сведения о низкоуровневом событии ввода мыши. |