消費者介面自動化用戶端概觀
本主題描述實作 Microsoft 消費者介面自動化 用戶端應用程式所涉及的主要工作。
消費者介面自動化用戶端是任何使用 消費者介面自動化 API 來存取 UI 元素資訊的應用程式,或透過程式設計方式操作 UI 元素來控制應用程式。 消費者介面自動化用戶端包含輔助技術應用程式,例如螢幕助讀程式,可擷取 UI 元素的相關資訊,並以適用于殘障人士的方式呈現資訊。 它們也包含語音辨識程式和軟體測試控管等應用程式,這些工具會使用消費者介面自動化,而不是使用滑鼠和鍵盤來「驅動」其他應用程式。
從消費者介面自動化的觀點來看,消費者介面自動化用戶端應用程式必須完成的主要工作包括:
取得 CUIAutomation 物件的實例。
消費者介面自動化提供者會公開 UI 元素以及 UI 元素功能存取權的相關資訊。 不過,用戶端應用程式無法直接與提供者搭配使用。 相反地,核心服務位於用戶端和提供者之間。 當用戶端呼叫 消費者介面自動化 API 時,它實際上是呼叫消費者介面自動化核心服務,進而呼叫提供者所實作的介面。
若要取得核心消費者介面自動化服務的存取權,用戶端必須建立CUIAutomation物件的實例,並在物件上擷取IUIAutomation介面指標。 IUIAutomation指標是用戶端用來存取用戶端可用之所有消費者介面自動化功能的金鑰。 如需詳細資訊,請參閱 建立 CUIAutomation 物件。
從消費者介面自動化樹狀結構擷取 UI 元素的 IUIAutomationElement 介面。
消費者介面自動化會將個別 UI 元素公開為實作IUIAutomationElement介面的物件。 元素的相關資訊可透過元素 的 IUIAutomationElement 介面所公開的屬性,以及元素控制項模式的存取權提供給用戶端使用。 控制項模式介面所公開的屬性和方法,提供控制項特定資訊和功能的存取權。
消費者介面自動化專案物件會提供給階層式樹狀結構中的用戶端,稱為消費者介面自動化樹狀結構。 用戶端會使用 IUIAutomation 介面公開的方法,擷取樹狀結構中 UI 元素的 IUIAutomationElement 介面,並擷取用來搜尋樹狀結構中符合特定準則之元素的其他介面。 如需詳細資訊,請參閱取得消費者介面自動化元素。
擷取 UI 元素時,用戶端可以使用消費者介面自動化的快取功能來改善系統效能。 快取可讓用戶端指定要連同 元素一起擷取的屬性和控制項模式。 在單一進程間呼叫中,消費者介面自動化擷取元素和指定的屬性和控制模式,然後將它們儲存在快取中。 如果沒有快取,則需要個別的進程間呼叫,才能擷取每個屬性或控制項模式。 如需詳細資訊,請參閱快取消費者介面自動化屬性和控制項模式。
擷取 UI 元素屬性並叫用 UI 元素功能。
用戶端會使用 IUIAutomationElement 介面來擷取元素的屬性和控制模式。 介面包含每個屬性擷取方法的兩個版本:一個版本會從快取擷取屬性,另一個版本則從提供者擷取屬性。 如需詳細資訊,請參閱從消費者介面自動化專案擷取屬性。
回應消費者介面自動化事件。
消費者介面自動化提供者會引發事件,以通知用戶端 UI 中的變更或重要專案。 用戶端必須判斷需要哪些事件,然後實作並註冊事件處理介面,以接收和處理這些事件。 如需詳細資訊,請參閱訂閱消費者介面自動化事件。
相關主題