IUIAutomationElement::FindFirstBuildCache 方法(uiautomationclient.h)
检索与指定条件匹配的第一个子元素或子代元素,预提取请求的属性和控制模式,并将预提取的项存储在缓存中。
语法
HRESULT FindFirstBuildCache(
[in] TreeScope scope,
[in] IUIAutomationCondition *condition,
[in] IUIAutomationCacheRequest *cacheRequest,
[out, retval] IUIAutomationElement **found
);
参数
[in] scope
类型:TreeScope
指定搜索范围的值的组合。
[in] condition
指向表示要匹配的条件的条件的指针。
[in] cacheRequest
指向缓存请求的指针,该请求指定要包含在缓存中的控件模式和属性。
[out, retval] found
类型:IUIAutomationElement**
接收指向匹配元素的指针;如果未找到匹配元素,则 NULL。
返回值
类型:HRESULT
如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。
言论
搜索的范围相对于调用该方法的元素。 元素按树中遇到的顺序返回。
此函数无法搜索 Microsoft UI 自动化树中的上级元素;也就是说,TreeScope_Ancestors 不是 范围 参数的有效值。
在桌面上搜索顶级窗口时,请务必在 范围 参数中指定 TreeScope_Children,而不是 TreeScope_Descendants。 通过桌面的整个子树进行搜索可能会循环访问数千个项目,并导致堆栈溢出。
如果客户端应用程序可能尝试在其自己的用户界面中查找元素,则必须在单独的线程上发出所有 UI 自动化调用。
若要搜索原始树,请在 cacheRequest 参数中指定相应的 TreeScope。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 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) |
另请参阅
概念
参考