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) |
程式庫 | User32.lib |
Dll | User32.dll |
可轉散發套件 | Windows NT 4.0 上的 Active Accessibility 1.3 RDK 與 SP6 和更新版本和 Windows 95 |