Процедура фильтра (hook) DebugProc - это определяемая программой или определяемая библиотекой функция повторного вызова, используемая функцией SetWindowsHookEx. Система вызывает эту функцию перед вызовом процедуры, связанной с каким-либо типом фильтра (hook). Система передает информацию о фильтре (hook) в вызываемую процедуру DebugProc, которая проверяет информацию и выясняет, давать ли возможность фильтру (hook) быть вызванным.
Тип HOOKPROC определяет указатель на эту функция повторного вызова. DebugProc - это имя - заместитель для определяемого программой или определяемого библиотекой имени функции.
Синтаксис
LRESULT CALLBACK DebugProc( int nCode, WPARAM wParam, LPARAM lParam ); |
Параметры
nCode
[in] Устанавливает, должна ли процедура фильтра (hook) обрабатывать сообщение. Если nCode - HC_ACTION, процедура фильтра (hook) должна обработать сообщение. Если nCode - меньше чем нуль, процедура фильтра (hook) должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки и должна возвратить значение, возвращенное CallNextHookEx.wParam
[in] Устанавливает тип фильтра (hook), который собираются вызвать. Этим параметром может быть одно из ниже перечисленных значений.
| Значение | Предназначение |
| WH_CALLWNDPROC | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями, отправленными оконной процедуре. Дополнительную информацию, см. в описании процедуры фильтра (hook) CallWndProc. |
| WH_CALLWNDPROCRET | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями, которые были только что обработаны оконной процедурой. Дополнительную информацию, см. в описании процедуры фильтра (hook) CallWndRetProc. |
| WH_CBT | Устанавливает процедуру фильтра (hook), которая получает уведомления, полезные для приложений компьютерной тренировки (CBT). Дополнительную информацию, см. в описании процедуры фильтра (hook) CBTProc. |
| WH_DEBUG | Устанавливает процедуру фильтра (hook), полезную для того, чтобы делать отладку других процедур фильтра (hook). Дополнительную информацию, см. в описании процедуры фильтра (hook) DebugProc. |
| WH_GETMESSAGE | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями, отправленными в очередь сообщений. Дополнительную информацию, см. в описании процедуры фильтра (hook) GetMsgProc. |
| WH_JOURNALPLAYBACK | Устанавливает процедуру фильтра (hook), которая посылает сообщения, предварительно зарегистрированные процедурой фильтра (hook) WH_JOURNALRECORD. Дополнительную информацию, см. в описании процедуры фильтра (hook) JournalPlaybackProc. |
| WH_JOURNALRECORD | Устанавливает процедуру фильтра (hook), которая фиксирует сообщения о вводе данных, помещенных в системную очередь сообщений. Этот фильтр (hook) полезен для того, чтобы сделать запись макроопределения. Дополнительную информацию, см. в описании процедуры фильтра (hook) JournalRecordProc. |
| WH_KEYBOARD | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями нажатия клавиши. Дополнительную информацию, см. в описании процедуры фильтра (hook) KeyboardProc. |
| WH_MOUSE | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями мыши. Дополнительную информацию, см. в описании процедуры фильтра (hook) MouseProc. |
| WH_MSGFILTER | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями, произведенными в результате события ввода данных в диалоговом окне, окне сообщения, меню или линейке прокрутки. Процедура фильтра (hook) осуществляет текущий контроль за этими сообщениями только для прикладной программы, которая устанавливала процедуру фильтра (hook). Дополнительную информацию, см. в описании процедуры фильтра (hook) MessageProc. |
| WH_SHELL | Устанавливает процедуру фильтра (hook), которая получает уведомления, полезные в приложении Shell. Дополнительную информацию, см. в описании процедуры фильтра (hook) ShellProc и статье о фильтре (hook) WH_SHELL. |
| WH_SYSMSGFILTER | Устанавливает процедуру фильтра (hook), которая осуществляет текущий контроль за сообщениями, произведенными в результате события ввода данных в диалоговом окне, окне сообщения, меню или линейке прокрутки. Процедура фильтра (hook) осуществляет текущий контроль за этими сообщениями для всех приложений в системе. Дополнительную информацию, см. в описании процедуры фильтра (hook) SysMsgProc. |
lParam
[in] Указатель на структуру DEBUGHOOKINFO, которая содержит параметры, передаваемые целевой процедуре фильтра (hook).Возвращаемое значение
Чтобы не дать системе вызывать фильтр (hook), процедура фильтра (hook) должна возвратить ненулевое значение. В противном случае, процедура фильтра (hook) должна вызвать CallNextHookEx.
Замечания
Приложение устанавливает эту процедуру фильтра (hook), определяя тип фильтра (hook) WH_DEBUG и указатель на процедуру фильтра (hook) при вызове функции SetWindowsHookEx.
Смотри также
Обзор Фильтр-процедуры (hooks) событий, Функции, используемые фильтрами (hook), CallNextHookEx, CallWndProc, CallWndRetProc, CBTProc, DEBUGHOOKINFO, GetMsgProc, JournalPlaybackProc, JournalRecordProc, KeyboardProc, MessageProc, MouseProc, SetWindowsHookEx, ShellProc, SysMsgProc
|
Размещение и совместимость DebugProc |
|
|
Windows. NET Server |
Да |
|
Windows XP |
Да |
|
Windows 2000 |
Да |
|
Windows NT |
Да версии 3.1 и выше |
|
Windows Me |
Да |
|
Windows 98 |
Да |
|
Windows 95 |
Да |
|
Используемая библиотека |
Нет |
|
Заголовочный файл |
|
|
- объявлено в |
Winuser.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |