註冊攔截函式
用戶端應用程式會在 WinEventProc 回呼函式中接收 WinEvents。 回呼函式所執行的動作是由應用程式所定義,但語法必須如原型中所指定。
在接收事件之前,必須先呼叫 setWinEventHook 來註冊函式。 用戶端可以多次呼叫 SetWinEventHook 來註冊不同的攔截函式,或為先前註冊的攔截函式設定其他事件。
呼叫 SetWinEventHook 用戶端會指定要接收的事件,以及如何接收事件。 用戶端可以選擇:
- 接收所有事件或一組特定的事件。
- 從所有線程或特定線程接收事件。
- 從所有進程或特定進程接收事件。
- 處理進程內或進程外的事件。
產生符合指定準則的事件時,系統會呼叫用戶端的 WinEventProc 回呼函式(或「攔截程式」)。 掛勾函式接收的參數會告訴客戶端關於產生事件的視窗、物件和可能的子元素。 用戶端會在物件擷取呼叫中使用這些參數,例如 AccessibleObjectFromEvent。