internal static extern IntPtr ChildWindowFromPointEx(IntPtr hWndParent, WindowPoint pt, uint uFlags);
internal static extern IntPtr WindowFromPoint(WindowPoint windowPoint);
public static Window GetWindowAtCursor() { WindowPoint pt = new WindowPoint(Cursor.Position.X, Cursor.Position.Y); IntPtr hWnd = WinApi.WindowFromPoint(pt); IntPtr parent = WinApi.GetAncestor(hWnd, GetAncestorFlags.GetRoot); return FromHandle(parent); }