UI 自動化事件概觀
Microsoft 消費者介面自動化事件通知是輔助技術的重要功能,例如螢幕助讀程式和螢幕放大鏡。 這些消費者介面自動化用戶端會追蹤在 UI 中發生情況時由消費者介面自動化提供者引發的事件,並使用資訊來通知終端使用者。
藉由允許提供者應用程式選擇性地引發事件來改善效率,取決於是否有用戶端訂閱那些事件或完全沒有,前提是沒有用戶端正在接聽任何事件。
UI 自動化事件分成下列類別。
事件類別目錄 | 描述 |
---|---|
屬性變更 | 當消費者介面自動化專案或控制項模式上的屬性變更時引發。 例如,如果用戶端需要監視應用程式核取方塊控制項,它可以註冊以接聽 IUIAutomationTogglePattern::CurrentToggleState 屬性上的屬性變更事件。 當選取或取消選取核取方塊控制項時,提供者會引發事件,而且用戶端可視需要採取動作。 |
項目動作 | 在使用者或程式設計活動產生的 UI 變更時引發,例如,當透過 IUIAutomationInvokePattern按一下或叫用按鈕時。 |
結構變更 | 當消費者介面自動化樹狀結構變更時引發。 當新的 UI 項目顯示、隱藏或從桌面上移除時,結構會變更。 |
全域桌面變更 | 發生用戶端感興趣的全域動作時 (例如,焦點從一個項目移到另一個項目時,或當視窗關閉時) 引發。 |
通知 | 當應用程式呼叫 UiaRaiseNotificationEvent 函式時引發。 NotificationKind 指出通知的類型。 |
某些事件並不一定表示 UI 的狀態已經變更。 例如,如果使用者索引標籤到文字專案欄位,然後按一下按鈕來更新欄位,則即使使用者未實際變更文字,也會引發 UIA_Text_TextChangedEventId 事件。 在處理事件時,用戶端應用程式可能需要在採取動作之前檢查是否有任何實際變更。
即使 UI 的狀態未變更,也可能引發下列事件。
- 視 已變更) 的屬性而定,UIA_AutomationPropertyChangedEventId (
- UIA_SelectionItem_ElementSelectedEventId
- UIA_Selection_InvalidatedEventId
- UIA_Text_TextChangedEventId
如需所有消費者介面自動化事件的描述,請參閱事件識別碼。
相關主題