共用方式為


架構和互通性

本主題簡短描述 Microsoft Active Accessibility 和 Microsoft 消費者介面自動化 的架構,以及根據兩種不同的技術允許應用程式之間互通性的元件。

如需 Microsoft Active Accessibility 和 消費者介面自動化互通性的詳細資訊,請參閱Common Infrastructure

本主題包含下列各節。

Microsoft Active Accessibility Architecture

Microsoft Active Accessibility 會公開控制項的基本資訊,例如控制項名稱、畫面上的位置和控制項類型,以及狀態資訊,例如可見度和啟用/停用狀態。 UI 會表示為可存取物件的階層;變更和動作會以 WinEvents 表示。

Microsoft Active Accessibility 包含下列元件:

  • 可存取的物件—邏輯 UI 元素 (,例如 IAccessible 元件物件模型 (COM) 介面所代表的按鈕) ,以及 ChildID) (整數子識別碼。
  • WinEvents - 事件系統,可讓伺服器在可存取的物件變更時通知用戶端。 如需詳細資訊,請參閱 WinEvents
  • OLEACC.dll— 提供 Microsoft Active Accessibility API 和協助工具系統架構的執行時間動態連結程式庫。 OLEACC 會實作 Proxy 物件,以提供標準 UI 元素的預設協助工具資訊,包括 USER 控制項、USER 功能表和一般控制項。

針對 Microsoft Active Accessibility,協助工具架構的系統元件 (OLEACC) 可協助輔助技術 (輔助技術) 和應用程式之間的通訊,如下圖所示。

顯示協助工具工具如何與應用程式互動的圖例

microsoft Active Accessibility Server (應用程式) 提供 UI 協助工具資訊給 (Microsoft Active Accessibility 用戶端) 的工具,以代表使用者與 UI 互動。 程式碼界限是程式設計與進程界限。

消費者介面自動化架構

使用 消費者介面自動化 時,消費者介面自動化核心元件 (UIAutomationCore.dll) 會載入協助工具工具和應用程式的處理常式。 核心元件會管理跨進程通訊、提供較高層級的服務,例如依屬性值搜尋元素,並啟用大量擷取或快取屬性,以提供比 Microsoft Active Accessibility 實作更好的效能。

消費者介面自動化包含 Proxy 物件,可提供標準 UI 元素的 UI 資訊,例如 USER 控制項、使用者功能表和一般控制項。 它也包含 Proxy,可讓消費者介面自動化用戶端從 Microsoft Active Accessibility 伺服器取得 UI 資訊。

下圖顯示協助工具工具中各種消費者介面自動化元件之間的關聯性, (用戶端) 和應用程式 (提供者) 。

此圖顯示協助工具工具元件如何與應用程式中的元件互動

Microsoft Active Accessibility 和 消費者介面自動化 互通性

Microsoft Active Accessibility Bridge 的消費者介面自動化可讓 Microsoft Active Accessibility 用戶端將消費者介面自動化物件模型轉換為 Microsoft Active Accessibility 物件模型,以存取消費者介面自動化提供者。 下圖顯示消費者介面自動化到 Microsoft Active Accessibility Bridge 的角色。

顯示 UI 自動化如何搭配協助工具工具和應用程式運作的圖例

同樣地,Microsoft Active Accessibility-to-消費者介面自動化 Proxy 會轉譯消費者介面自動化用戶端的 Microsoft Active Accessibility 型伺服器物件模型。 下圖顯示 Microsoft Active Accessibility-to-消費者介面自動化 Proxy 的角色。

顯示 UI 自動化 Proxy 如何與協助工具工具和應用程式搭配運作的圖例

IAccessibleEx 介面

IAccessibleEx介面可讓現有的應用程式或 UI 程式庫擴充其 Microsoft Active Accessibility 物件模型,以支援消費者介面自動化,而不需從頭重寫實作。 使用IAccessibleEx,您只能實作額外的消費者介面自動化屬性和控制項模式,以完整描述 UI 及其功能。

由於 Microsoft Active Accessibility-to-消費者介面自動化 Proxy 會將已啟用IAccessibleEx之 Microsoft Active Accessibility 伺服器的物件模型轉譯為消費者介面自動化物件模型,因此消費者介面自動化用戶端不需要執行任何額外的工作。 IAccessibleEx介面也可以讓同進程 Microsoft Active Accessibility 用戶端直接與消費者介面自動化提供者互動。

如需詳細資訊,請參閱 IAccessibleEx 介面

Windows 自動化 API 概觀

IAccessibleEx 介面

輔助技術的安全性考慮