共用方式為


AccessibleObjectFromPoint 函式 (oleacc.h)

擷取畫面上指定點所顯示物件的 IAccessible 介面指標位址。

語法

HRESULT AccessibleObjectFromPoint(
  [in]  POINT       ptScreen,
  [out] IAccessible **ppacc,
  [out] VARIANT     *pvarChild
);

參數

[in] ptScreen

指定在實體螢幕座標中檢查的點。

[out] ppacc

接收物件 IAccessible 介面位址的指標變數位址。

[out] pvarChild

VARIANT 結構的位址,指定在 ppacc 中傳回的 IAccessible 介面指標是否屬於顯示在指定點的物件,或指定點之專案的父代。 VARIANTvt 成員一律VT_I4。 如果 lVal 成員是CHILDID_SELF,則 ppacc 上的 IAccessible 介面指標屬於該點的物件。 如果 lVal 成員未 CHILDID_SELF,ppacc 是子專案父物件的 IAccessible 介面位址。 用戶端在使用完時,必須在擷取的 VARIANT 參數上呼叫 VariantClear

傳回值

如果成功,則傳回 S_OK。

如果未成功,則傳回下列其中一個或另一個標準 COM 錯誤碼

傳回碼 Description
E_INVALIDARG
引數無效。

備註

此函式會在指定點擷取物件階層中的最低層級可存取物件。 如果點上的專案不是可存取的物件 (,則不支援 IAccessible) ,則函式會擷取父物件的 IAccessible 介面。 父對象必須透過 IAccessible 介面提供子專案的相關信息。 呼叫 IAccessible::accHitTest 以識別位於指定螢幕座標的子專案。

如同其他 IAccessible 方法和函式,用戶端可能會因為用戶動作而收到 IAccessible 介面指標的錯誤。 如需詳細資訊,請參閱 接收 IAccessible 介面指標的錯誤

用戶端範例

下列範例函式會選取畫面上指定點的專案。 假設需要單一選取範圍。

HRESULT SelectItemAtPoint(POINT point)
{
    VARIANT varItem;
    IAccessible* pAcc;
    HRESULT hr = AccessibleObjectFromPoint(point, &pAcc, &varItem);
    if ((hr == S_OK))
    {
        hr = pAcc->accSelect((SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION), varItem);
        VariantClear(&varItem);
        pAcc->Release();
    }
    return hr;
}

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 oleacc.h
程式庫 Oleacc.lib
Dll Oleacc.dll
可轉散發套件 Windows NT 4.0 上的 Active Accessibility 1.3 RDK 與 SP6 和更新版本和 Windows 95

另請參閱

AccessibleObjectFromEvent

AccessibleObjectFromWindow

作用中輔助功能和 Windows Vista 螢幕縮放

IAccessible

VARIANT 結構