IUIAutomationElement::FindFirst method (uiautomationclient.h)
Retrieves the first child or descendant element that matches the specified condition.
Syntax
HRESULT FindFirst(
[in] TreeScope scope,
[in] IUIAutomationCondition *condition,
[out, retval] IUIAutomationElement **found
);
Parameters
[in] scope
Type: TreeScope
A combination of values specifying the scope of the search.
[in] condition
Type: IUIAutomationCondition*
A pointer to a condition that represents the criteria to match.
[out, retval] found
Type: IUIAutomationElement**
Receives a pointer to the element. NULL is returned if no matching element is found.
Return value
Type: HRESULT
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
The scope of the search is relative to the element on which the method is called. Elements are returned in the order in which they were encountered in the tree.
This function cannot search for ancestor elements in the Microsoft UI Automation tree; that is, TreeScope_Ancestors is not a valid value for the scope parameter.
When searching for top-level windows on the desktop, be sure to specify TreeScope_Children in the scope parameter, not TreeScope_Descendants. A search through the entire subtree of the desktop could iterate through thousands of items and lead to a stack overflow.
If your client application might try to find elements in its own user interface, you must make all UI Automation calls on a separate thread.
This function ignores elements in the raw tree. Call FindFirstBuildCache to search the raw tree by specifying the appropriate TreeScope on the IUIAutomationCacheRequest passed to that function.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7, Windows Vista with SP2 and Platform Update for Windows Vista, Windows XP with SP3 and Platform Update for Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 R2, Windows Server 2008 with SP2 and Platform Update for Windows Server 2008, Windows Server 2003 with SP2 and Platform Update for Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | uiautomationclient.h (include UIAutomation.h) |
See also
Conceptual
Obtaining UI Automation Elements
Reference