UI 自動化事件概觀

Microsoft 消費者介面自動化事件通知是輔助技術的重要功能,例如螢幕助讀程式和螢幕放大鏡。 這些消費者介面自動化用戶端會追蹤在 UI 中發生情況時由消費者介面自動化提供者引發的事件,並使用資訊來通知終端使用者。

藉由允許提供者應用程式選擇性地引發事件來改善效率,取決於是否有用戶端訂閱那些事件或完全沒有,前提是沒有用戶端正在接聽任何事件。

UI 自動化事件分成下列類別。

事件類別目錄 描述
屬性變更 當消費者介面自動化專案或控制項模式上的屬性變更時引發。 例如,如果用戶端需要監視應用程式核取方塊控制項,它可以註冊以接聽 IUIAutomationTogglePattern::CurrentToggleState 屬性上的屬性變更事件。 當選取或取消選取核取方塊控制項時,提供者會引發事件,而且用戶端可視需要採取動作。
項目動作 在使用者或程式設計活動產生的 UI 變更時引發,例如,當透過 IUIAutomationInvokePattern按一下或叫用按鈕時。
結構變更 當消費者介面自動化樹狀結構變更時引發。 當新的 UI 項目顯示、隱藏或從桌面上移除時,結構會變更。
全域桌面變更 發生用戶端感興趣的全域動作時 (例如,焦點從一個項目移到另一個項目時,或當視窗關閉時) 引發。
通知 當應用程式呼叫 UiaRaiseNotificationEvent 函式時引發。 NotificationKind 指出通知的類型。

 

某些事件並不一定表示 UI 的狀態已經變更。 例如,如果使用者索引標籤到文字專案欄位,然後按一下按鈕來更新欄位,則即使使用者未實際變更文字,也會引發 UIA_Text_TextChangedEventId 事件。 在處理事件時,用戶端應用程式可能需要在採取動作之前檢查是否有任何實際變更。

即使 UI 的狀態未變更,也可能引發下列事件。

如需所有消費者介面自動化事件的描述,請參閱事件識別碼

訂閱消費者介面自動化事件