Функции, используемые фильтр-процедурами (hook)


Функция Описание
CallMsgFilter

Функция CallMsgFilter переправляет указанное сообщение и код фильтра (hook) в  процедуру фильтра (hook) событий, связанную с фильтрами  WH_SYSMSGFILTER и WH_MSGFILTER. Фильтр WH_SYSMSGFILTER или WH_MSGFILTER  - это определяемая программой функция повторного вызова, которая проверяет и, необязательно, изменяет сообщения для диалогового окна, окна сообщения, меню или линейки прокрутки.

CallNextHookEx

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

CallWndProc Процедура фильтра (hook) CallWndProc - это определяемая программой или определяемая библиотекой функция повторного вызова, используемая функцией SetWindowsHookEx.
  • Windows 95/98/Me, Windows NT 3.51: Система вызывает эту функцию всякий раз, когда поток вызывает функцию SendMessage. Фильтр (hook)  WH_CALLWNDPROC вызывается в контексте потока, который вызывает SendMessage, а не потока, который получает сообщение.
  • Windows NT 4.0 и позже: Система вызывает эту функцию перед вызовом оконной процедуры, чтобы обработать сообщение, отправленное потоку.

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

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

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

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

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

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

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

ForegroundIdleProc

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

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

GetMsgProc

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

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

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

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

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

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

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

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

LowLevelKeyboardProc Процедура фильтра (hook) LowLevelKeyboardProc - определяемая программой или определяемая библиотекой функция повторного вызова, используемая функцией SetWindowsHookEx. Система вызывает эту функцию каждый раз, когда собирается вставить новое событие ввода с клавиатуры в очередь ввода данных потока. Ввод с клавиатуры может происходить от локального драйвера клавиатуры или от вызовов функции keybd_event. Если ввод данных исходит из вызова keybd_event, ввод данных  "вставляется". Однако, фильтр (hook) WH_KEYBOARD_LL не вставляется в другой процесс. Вместо этого, контекст переключает обратно в процесс, который устанавливал фильтр (hook), и  вызывается в его первоначальном контексте. Затем контекст переключает обратно в приложение, которое создало событие.

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

LowLevelMouseProc Процедура фильтра (hook) LowLevelMouseProc - определяемая программой или определяемая библиотекой функция повторного вызова, используемая функцией SetWindowsHookEx. Система вызывает эту функцию каждый раз, когда собирается вставить новое событие ввода от мыши в очередь ввода данных потока. Ввод от мыши может исходить от локального драйвера мыши или от вызовов функции mouse_event. Если ввод данных исходит из вызова mouse_event, ввод данных  "вставляется". Однако, фильтр (hook) WH_MOUSE_LL не вставляется в другой процесс. Вместо этого, контекст переключает обратно в процесс, который устанавливал фильтр (hook), и  вызывается в его первоначальном контексте. Затем контекст переключает обратно в приложение, которое создало событие. 

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

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

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

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

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

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

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

SysMsgProc

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

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

UnhookWindowsHookEx Функция UnhookWindowsHookEx удаляет процедуру фильтра (hook), установленную в цепочке фильтров функцией SetWindowsHookEx.

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

Hosted by uCoz