User and Graphics Device Interface Objects, страница 6

WH_DEBUG                          Устанавливает процедуру перехвата, используемую для отладки других процедур перехвата.  Для более подробной информации, смотри процедура перехвата DebugProc.

WH_GETMESSAGE               Устанавливает процедуру перехвата, которая проверяет сообщения, установленные в очередь сообщений. Для более подробной информации, смотри процедура перехвата GetMsgProc.

WH_JOURNALPLAYBACK    Устанавливает процедуру перехвата, которая посылает сообщения, перед этим записанные  процедурой перехвата WH_JOURNALRECORD. Для более подробной информации, смотри процедура перехвата JournalPlaybackProc.

WH_JOURNALRECORD       Устанавливает процедуру перехвата, которая записывает входные сообщения, установленные в системную очередь сообщений. Эта процедура перехвата полезна для записи макроопределений. Для более подробной информации, смотри процедура перехвата JournalRecordProc.

WH_KEYBOARD                    Устанавливает процедуру перехвата, которая проверяет сообщения нажатия клавиши. Для более подробной информации, смотри процедура перехвата KeyboardProc.

WH_MOUSE                          Устанавливает процедуру перехвата, которая проверяет сообщения от мыши. Для более подробной информации, смотри процедура перехвата MouseProc.

WH_MSGFILTER                   Устанавливает процедуру перехвата, которая проверяет, сгенерированные в результате ввода в диалоговом окне, окне сообщений, меню или линейки прокрутки. Для более подробной информации, смотри процедура перехвата MouseProc.

WH_SHELL                            Устанавливает процедуру перехвата, которая получает уведомления, полезные для приложений оболочки. Для подробной информации, см. процедуру перехвата ShellProc.

WH_SYSMSGFILTER          Устанавливает процедуру перехвата, которая контролирует сообщения, сгенерированные в результате входного события в диалоговом окне, окне сообщения, меню, или полосе прокрутки. Процедура перехвата контролирует эти сообщения для всех приложений в системе. Для подробной информации, см. процедуру перехвата SysMsgProc.

hkprc

Указывает на процедуру перехвата. Если параметр dwThreadID - нуль или определяет идентификатор нити, созданной различным процессом, параметр hkprc должен указать на процедуру перехвата в библиотеке динамических связей (DLL). Иначе, hkprc может указывать на процедуру перехвата в коде, связанном с текущим процессом.

hMod

Идентифицирует DLL, содержащую процедуру перехвата, указанную параметром hkprc. Параметр hMod должен быть установлен в NULL, если параметр dwThreadID определяет нить, созданную текущим процессом и если процедура перехвата - внутри кода, связанного с текущим процессом.

dwThreadID

Определяет идентификатор нити, с которой процедура перехвата должна быть связана. Если этот параметр - нуль, процедура перехвата связана со всеми существующими нитями.

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

В случае успешного завершения, возвращаемое значение - дескриптор процедуры перехвата.

В случае неудачи, возвращаемое значение - NULL.

Замечания

Ошибка может происходить, если параметр hMod - NULL, и параметр dwThreadId - нуль или определяет идентификатор нити, созданной другим процессом.

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

Перед завершением, приложение должно вызвать функцию UnhookWindowsHook, чтобы освободить ресурсы системы, связанные с ловушкой.

Область (контекст) ловушки зависит от типа ловушки. Некоторые ловушки могут быть установлены только в контексте системы; другие могут также быть установлены только для специфической нити, как показано в следующем списке:

Контекст Ловушки