unhookWinEvent 函数 (winuser.h)

删除先前对 SetWinEventHook 的调用所创建的事件挂钩函数。

语法

BOOL UnhookWinEvent(
  [in] HWINEVENTHOOK hWinEventHook
);

参数

[in] hWinEventHook

类型: HWINEVENTHOOK

SetWinEventHook 的上一次调用中返回的事件挂钩的句柄。

返回值

类型: BOOL

如果成功,则返回 TRUE;否则,返回 FALSE

三个常见错误导致此函数失败:

  • hWinEventHook 参数为 NULL 或无效。
  • 已删除 由 hWinEventHook 指定的事件挂钩。
  • UnhookWinEvent 是从与 对 SetWinEventHook 的原始调用不同的线程调用的。

注解

此函数删除 hWinEventHook 指定的事件挂钩,该挂钩阻止相应的回调函数接收进一步的事件通知。 如果客户端的线程结束,系统会自动调用此函数。

从安装事件挂钩的同一线程调用此函数。 如果从与 SetWinEventHook 对应的调用不同的线程调用,则 UnhookWinEvent 失败。

如果在安装此事件挂钩时指定了 WINEVENT_INCONTEXT,系统会尝试从加载它的所有进程中卸载相应的 DLL。 尽管卸载不会立即发生,但在 UnhookWinEvent 返回后不会调用挂钩函数。 有关WINEVENT_INCONTEXT的详细信息,请参阅 上下文挂钩函数

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
可再发行组件 具有 SP6 及更高版本和 Windows 95 的 Windows NT 4.0 上的 Active Accessibility 1.3 RDK