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 指定为 NULL 且 propertyId 为 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
引用