IUIAutomationItemContainerPattern::FindItemByProperty 方法 (uiautomationclient.h)
根據指定的屬性值,擷取包含專案內的專案。
語法
HRESULT FindItemByProperty(
[in] IUIAutomationElement *pStartAfter,
[in] PROPERTYID propertyId,
[in] VARIANT value,
[out, retval] IUIAutomationElement **pFound
);
參數
[in] pStartAfter
類型: IUIAutomationElement*
元素的指標,搜尋開始之後,或 NULL 來搜尋所有元素。
[in] propertyId
類型: PROPERTYID
屬性識別項。 如需屬性識別碼的清單,請參閱 屬性標識碼。
[in] value
類型: VARIANT
屬性值。
[out, retval] pFound
類型: IUIAutomationElement**
接收相符專案的指標。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
如果相符的專案已虛擬化,提供者可能會傳回實際的 IUIAutomationElement 介面或佔位元。
如果所要求的屬性不是容器支援搜尋的屬性,這個方法會傳回E_INVALIDARG。 預期大部分的容器都會支援 Name 屬性,如果適合容器,則 AutomationId 和 IsSelected。
這個方法可能會很慢,因為它可能需要周游多個對象來尋找相符的物件。 在迴圈中使用 來傳回多個專案時,只要每個專案只傳回一次 (,迴圈就應該終止) 。 此方法也是以專案為中心的,而不是以UI為主,因此具有多個UI表示的專案只需要叫用一次。
當 propertyId 參數指定為 0 (零) 時,提供者應該會在 pStartAfter 之後傳回下一個專案。 如果 pStartAfter 以 propertyId 為 0 指定為 NULL,提供者應該會傳回容器中的第一個專案。 當 propertyId 指定為 0 時, 值 參數應該VT_EMPTY。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7、Windows Vista SP2 和 Platform Update for Windows Vista、Windows XP 含 SP3 和適用於 Windows Vista 的平臺更新 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008、Windows Server 2003 SP2 和 Platform Update for Windows Server 2008 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | uiautomationclient.h (包含 UIAutomation.h) |
另請參閱
IUIAutomationItemContainerPattern
參考