AutomationElement.FromPoint(Point) Method


Retrieves a new AutomationElement object for the user interface (UI) item at specified point on the desktop.

 static System::Windows::Automation::AutomationElement ^ FromPoint(System::Windows::Point pt);
public static System.Windows.Automation.AutomationElement FromPoint (System.Windows.Point pt);
static member FromPoint : System.Windows.Point -> System.Windows.Automation.AutomationElement
Public Shared Function FromPoint (pt As Point) As AutomationElement



The physical screen coordinates on the desktop at which to locate the UI element.


The UI item at the specified point.


The following example retrieves the AutomationElement at the system cursor location.

private AutomationElement ElementFromCursor()
    // Convert mouse position from System.Drawing.Point to System.Windows.Point.
    System.Windows.Point point = new System.Windows.Point(Cursor.Position.X, Cursor.Position.Y);
    AutomationElement element = AutomationElement.FromPoint(point);
    return element;
Private Function ElementFromCursor() As AutomationElement
    ' Convert mouse position from System.Drawing.Point to System.Windows.Point.
    Dim cursorPoint As System.Windows.Point = New System.Windows.Point( _
        System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y)
    Return AutomationElement.FromPoint(cursorPoint)
End Function


FromPoint returns the element in the logical tree that is closest to the root element.

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.

Although the point is within the bounding rectangle of the returned AutomationElement, it is not necessarily on a clickable part of the control. For example, a round button might not be clickable near one of the corners of its bounding rectangle.

Applies to

See also