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 |