共用方式為


UI 自動化規格

本主題提供Microsoft使用者介面自動化規格的概觀,其構成UI自動化的Windows實作基礎。 除了Microsoft Windows 以外,可以支援UI自動化規格。 如需詳細資訊,請參閱 UI 自動化規格

本主題包含下列各節:

簡介

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

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

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

使用者介面自動化 Microsoft可透過:

  • 啟用有效率的跨進程客戶端,同時繼續允許進程記憶體取。
  • 以允許用戶端跨進程的方式公開UI的詳細資訊。
  • 並存並利用 Microsoft Active Accessibility,而不會繼承其限制。 如需詳細資訊,請參閱 Microsoft Active Accessibility and UI Automation Compared
  • 提供簡單實作 IAccessible 的替代方案。

Windows 功能元件物件模型(COM)架構介面和Managed介面中的UI自動化規格實作。

UI 自動化元素

使用者介面自動化會將每個 UI 部分公開給用戶端應用程式,做為 自動化元素,。 提供者會為每個專案提供屬性值。 元素會公開為樹狀結構,桌面做為根元素。

自動化元素會公開它們所代表之UI元素的通用屬性。 其中一個屬性是控件類型,描述其基本外觀和功能(例如按鈕或複選框)。

UI 自動化樹狀結構

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

顯示 ui 自動化樹狀結構

請注意,UI 自動化樹狀結構中的同層級順序相當重要。 在視覺上彼此相鄰的物件也應該在UI自動化樹狀結構中彼此相鄰。

特定控制件的 UI 自動化提供者支援在該控制件的子元素之間流覽。 不過,提供者並不關心這些控件子樹狀結構之間的流覽。 這是由使用者介面自動化核心所管理,使用來自預設視窗提供者的資訊。

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

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

 

如需詳細資訊,請參閱 UI 自動化樹狀結構概觀

UI 自動化屬性

使用者介面自動化規格會定義兩種屬性:automation 元素屬性和控件模式屬性。 自動化元素屬性適用於大部分的控件,提供元素的基本資訊,例如其名稱。 控制項模式屬性會套用至下一個描述的控制項模式。

不同於Microsoft Active Accessibility,每個 UI 自動化屬性都是透過 GUID 和程式設計名稱來識別,這可讓新屬性更容易引進。

如需詳細資訊,請參閱 UI 自動化屬性概觀

UI 自動化控制件模式

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

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

如需詳細資訊,請參閱 UI 自動化控制項模式概觀

UI 自動化控制件類型

控件類型是自動化項目屬性,指定元素所代表的已知控件。 目前,UI 自動化會定義三十八種控件類型,包括 Button、CheckBox、ComboBox、DataGrid、Document、Hyperlink、Image、ToolTip、Tree 和 Window。

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

預先定義的控件類型總數明顯低於 Microsoft Active Accessibility 物件角色,因為 UI 自動化控件模式可以結合來表示較大的功能集,而Microsoft Active Accessibility 角色則無法。

如需詳細資訊,請參閱 UI 自動化控制項類型概觀

UI 自動化事件

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

如需詳細資訊,請參閱 UI 自動化事件概觀

UI 自動化規格Windows 自動化 API 概觀