IUIAutomationElement::FindAll 方法(uiautomationclient.h)

返回满足指定条件的所有 UI 自动化元素。

语法

HRESULT FindAll(
  [in]          TreeScope                 scope,
  [in]          IUIAutomationCondition    *condition,
  [out, retval] IUIAutomationElementArray **found
);

参数

[in] scope

类型:TreeScope

指定搜索范围的值的组合。

[in] condition

类型:IUIAutomationCondition*

指向表示要匹配的条件的条件的指针。

[out, retval] found

类型:IUIAutomationElementArray**

接收指向匹配元素数组的指针。 如果未找到匹配的元素,则返回空数组。

返回值

类型:HRESULT

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

言论

搜索的范围相对于调用该方法的元素。 元素按树中遇到的顺序返回。

此函数无法搜索 Microsoft UI 自动化树中的上级元素;也就是说,TreeScope_Ancestors 不是 范围 参数的有效值。

在桌面上搜索顶级窗口时,请务必在 范围 参数中指定 TreeScope_Children,而不是 TreeScope_Descendants。 通过桌面的整个子树进行搜索可能会循环访问数千个项目,并导致堆栈溢出。

如果客户端应用程序可能尝试在其自己的用户界面中查找元素,则必须在单独的线程上发出所有 UI 自动化调用。

要求

要求 价值
最低支持的客户端 Windows 7、带有 SP2 和 Windows Vista 平台更新的 Windows Vista、带有 SP3 的 Windows XP 和适用于 Windows Vista 的平台更新的 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 [仅限桌面应用]
目标平台 窗户
标头 uiautomationclient.h (包括 UIAutomation.h)

另请参阅

概念

FindAllBuildCache

FindFirst

FindFirstBuildCache

IUIAutomationElement

获取 UI 自动化元素

参考