共用方式為


擷取 IAccessible 物件

Microsoft Active Accessibility 提供可讓用戶端擷取可存取物件的 函式,例如 AccessibleObjectFromWindowAccessibleObjectFromPoint 。 這些函式會傳回 IDispatchIAccessible 介面指標,用戶端可透過該指標取得可存取物件的相關資訊。

當用戶端呼叫 AccessibleObjectFromWindow 或任何其他可擷取物件介面的 AccessibleObjectFromX 函式時,Microsoft Active Accessibility 會將 WM_GETOBJECT 視窗訊息傳送至適當應用程式內的適用視窗程式。 若要提供資訊給用戶端,伺服器必須回應 WM_GETOBJECT 訊息。

若要收集 UI 元素的特定資訊,用戶端必須先擷取元素的 IAccessible 介面。 若要擷取專案的 IAccessible 物件,用戶端可以使用下列其中一個函式:

擷取 IAccessible 介面指標

  1. 用戶端會呼叫其中一個 AccessibleObjectFromX 函式。

  2. Oleacc.dll會將 WM_GETOBJECT 訊息傳送至伺服器。

  3. 伺服器會決定哪個 UI 元素對應至要求。

  4. 伺服器會傳回零以要求Oleacc.dll Proxy,

    Or

    傳回原生實作 (IAccessible 物件) 。 若要這樣做,請執行下列動作:

  5. Oleacc.dll會檢查 WM_GETOBJECT的傳回值。

    如果它是零,Oleacc.dll建構 Proxy 物件,並將它傳回給用戶端。

    Or

    如果是非零值,Oleacc.dll呼叫 ObjectFromLresult 來取消封存原生 IAccessible 物件指標,並將它傳回給用戶端。