Share via


消費者介面自動化規格

本主題提供 Microsoft 消費者介面自動化 規格的概觀,其構成 windows 實作消費者介面自動化的基礎。 消費者介面自動化規格可以跨 Microsoft Windows 以外的平臺支援。 如需詳細資訊,請參閱消費者介面自動化規格

本主題包含下列幾節:

簡介ducton

消費者介面自動化規格提供 Windows 桌面上 UI 元素的彈性程式設計存取,讓螢幕助讀程式等輔助技術產品為使用者提供 UI 的相關資訊,以及透過標準輸入以外的方式操作 UI。

消費者介面自動化的範圍比介面定義更廣。 它提供:

  • 物件模型和函式,可讓用戶端應用程式輕鬆接收事件、擷取屬性值,以及操作 UI 元素。
  • 用來尋找和擷取跨進程界限的核心基礎結構。
  • 一組介面,可供提供者表示 UI 元素的樹狀結構、一般屬性和功能。
  • 「控制項類型」屬性,可讓用戶端和提供者清楚指出 UI 物件的通用屬性、功能和結構。

消費者介面自動化透過:

Windows 功能元件物件模型中的消費者介面自動化規格實作, (COM) 型介面和 Managed 介面。

消費者介面自動化元素

消費者介面自動化會將每個 UI 片段公開給用戶端應用程式作為自動化專案。 提供者會為每個元素提供屬性值。 元素會以樹狀結構的形式公開,桌面即為根項目。

自動化專案會公開它們所代表之 UI 元素的通用屬性。 其中一個屬性是控制項類型,其描述其基本外觀和 (功能,例如按鈕或核取方塊) 。

消費者介面自動化樹狀結構

消費者介面自動化樹狀結構代表整個 UI:根項目是目前的桌面,而子項目則是應用程式視窗。 每個子項目都可以包含代表功能表、按鈕、工具列等的專案。 這些專案接著可以包含清單專案之類的專案,如下圖所示。

顯示 UI 自動化樹狀結構的螢幕擷取畫面

請注意,消費者介面自動化樹狀結構中同層級的順序相當重要。 彼此連續的物件也應該在消費者介面自動化樹狀結構中彼此相鄰。

消費者介面自動化特定控制項的提供者支援在該控制項的子項目之間巡覽。 不過,提供者不會擔心這些控制項子樹狀結構之間的流覽。 這由 UI 自動化核心管理,使用來自預設視窗提供者的資訊。

為了協助用戶端更有效率地處理 UI 資訊,架構支援自動化樹狀結構的替代檢視:原始檢視、控制項檢視和內容檢視。 如下表所示,篩選類型會決定檢視,而用戶端會定義檢視的範圍。

自動化樹狀結構 描述
未經處理的檢視 桌面是根目錄的自動化專案物件完整樹狀結構。
控制項檢視 在使用者察覺到 UI 結構時,與 UI 結構緊密對應的原始檢視子集。
內容檢視 控制項檢視的子集,其中包含與使用者最相關的內容,例如下拉式方塊中的值。

 

如需詳細資訊,請參閱樹狀結構概觀消費者介面自動化

消費者介面自動化屬性

消費者介面自動化規格會定義兩種屬性:自動化專案屬性和控制項模式屬性。 自動化元素屬性適用于大部分的控制項,提供專案的基本資訊,例如其名稱。 控制項模式屬性會套用至接下來所述的控制項模式。

不同于 Microsoft Active Accessibility,每個消費者介面自動化屬性都會以 GUID 和程式設計名稱來識別,讓新屬性更容易引進。

如需詳細資訊,請參閱 UI Automation Properties Overview

UI 自動化控制項模式

控制項模式描述自動化專案功能的特定層面。 例如,按鈕或超連結之類的簡單「可點選」控制項應該支援叫用控制項模式來代表「按一下」動作。

每個控制項模式都是可能 UI 特性和函式的正式標記法。 目前消費者介面自動化實作會定義 22 個控制項模式。 Windows 自動化 API 也可以支援自訂控制項模式。 不同于 Microsoft Active Accessibility 角色或狀態屬性,一個自動化元素可以支援多個消費者介面自動化控制項模式。

如需詳細資訊,請參閱 UI Automation Control Patterns Overview

UI 自動化控制項類型

控制項類型是自動化專案屬性,指定專案所代表的已知控制項。 目前,消費者介面自動化定義三十八種控制項類型,包括 Button、CheckBox、ComboBox、DataGrid、Document、Hyperlink、Image、ToolTip、Tree 和 Window。

在您可以將控制項類型指派給元素之前,元素必須符合特定條件,包括特定的自動化樹狀結構、屬性值、控制項模式和事件。 不過,您不限於這些。 您可以使用自訂模式和屬性以及預先定義的控制項來擴充控制項。

預先定義的控制項類型總數明顯低於 Microsoft Active Accessibility物件角色,因為消費者介面自動化控制項模式可以結合來表達較大的一組功能,而 Microsoft Active Accessibility 角色則無法。

如需詳細資訊,請參閱 UI Automation Control Types Overview

消費者介面自動化事件

消費者介面自動化事件會通知應用程式變更,以及使用自動化元素採取的動作。 有四種不同類型的消費者介面自動化事件,它們不一定表示 UI 的視覺狀態已變更。 消費者介面自動化事件模型與 Windows 中的WinEvent架構無關,雖然 Windows 自動化 API 會讓消費者介面自動化事件與 Microsoft Active Accessibility 架構互通。

如需詳細資訊,請參閱 UI Automation Events Overview

消費者介面自動化規格Windows 自動化 API 概觀