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

属性标识符。 有关属性 ID 的列表,请参阅 属性标识符

[in] value

类型: VARIANT

属性值。

[out, retval] pFound

类型: IUIAutomationElement**

接收指向匹配元素的指针。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

如果虚拟化匹配的元素,提供程序可能会返回实际的 IUIAutomationElement 接口或占位符。

如果请求的属性不是容器支持搜索的属性,则此方法返回E_INVALIDARG。 预计大多数容器将支持 Name 属性,如果适合容器,则 AutomationId 和 IsSelected。

此方法可能很慢,因为它可能需要遍历多个对象才能找到匹配的对象。 在循环中使用返回多个项时,不定义任何特定顺序,只要每个项只返回一次 (即,循环应终止) 。 此方法也以项为中心,而不是以 UI 为中心,因此具有多个 UI 表示形式的项只需命中一次。

propertyId 参数指定为 0 (零) 时,提供程序应返回 pStartAfter 之后的下一项。 如果 pStartAfter 指定为 NULLpropertyId 为 0,则提供程序应返回容器中的第一项。 将 propertyId 指定为 0 时,应VT_EMPTY 参数。

要求

要求
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新、带 SP3 的 Windows XP 和适用于 Windows Vista 的平台更新 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2、带 SP2 的 Windows Server 2008 和适用于 Windows Server 2008 的平台更新、带 SP2 的 Windows Server 2003 和适用于 Windows Server 2008 的平台更新 [仅限桌面应用]
目标平台 Windows
标头 uiautomationclient.h (包括 UIAutomation.h)

另请参阅

IUIAutomationItemContainerPattern

实现

引用