Функция UnhookWinEvent (winuser.h)

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

Синтаксис

BOOL UnhookWinEvent(
  [in] HWINEVENTHOOK hWinEventHook
);

Параметры

[in] hWinEventHook

Тип: HWINEVENTHOOK

Дескриптор обработчика событий, возвращенного в предыдущем вызове SetWinEventHook.

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

Тип: BOOL

В случае успешного выполнения возвращает значение TRUE; В противном случае возвращает значение FALSE.

Три распространенные ошибки приводят к сбою этой функции:

  • Параметр hWinEventHook имеет значение NULL или недействителен.
  • Перехватчик событий, указанный hWinEventHook , уже удален.
  • UnhookWinEvent вызывается из потока, отличного от исходного вызова SetWinEventHook.

Комментарии

Эта функция удаляет перехватчик событий, заданный параметром hWinEventHook , который не позволяет соответствующей функции обратного вызова получать дальнейшие уведомления о событиях. Если поток клиента заканчивается, система автоматически вызывает эту функцию.

Вызовите эту функцию из того же потока, который установил перехватчик событий. UnhookWinEvent завершается ошибкой при вызове из потока, отличного от вызова, соответствующего SetWinEventHook.

Если при установке этого обработчика событий был указан WINEVENT_INCONTEXT, система пытается выгрузить соответствующую библиотеку DLL из всех процессов, которые ее загрузили. Хотя выгрузка происходит не сразу, функция перехватчика не вызывается после возврата UnhookWinEvent . Дополнительные сведения о WINEVENT_INCONTEXT см. в разделе Функции обработчика в контексте.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Распространяемые компоненты Активные специальные возможности 1.3 RDK в Windows NT 4.0 с пакетом обновления 6 (SP6) и более поздних версий и Windows 95