private IntPtr ChildWindowFromPointEx(IntPtr hWnd, Point point, Window.WindowFromPointFlags flags) { Point clientPoint = new Point(point.X, point.Y); NativeMethods.ScreenToClient(hWnd, ref clientPoint); return(NativeMethods.ChildWindowFromPointEx(hWnd, clientPoint, flags)); }
public PointedDescendantWindows(IntPtr hWnd, Point point, Window.WindowFromPointFlags flags) : base() { this.WindowHandle = hWnd; this.Point = point; if (hWnd != IntPtr.Zero) { var res = ChildWindowFromPointEx(hWnd, point, flags); while (hWnd != res && res != IntPtr.Zero) { hWnd = res; handles.Add(hWnd); res = ChildWindowFromPointEx(hWnd, point, flags); } } }
public static extern IntPtr ChildWindowFromPointEx(IntPtr hWndParent, Point pt, Window.WindowFromPointFlags uFlags);
public IEnumerable <WindowInfo> GetPointedDescendantWindows(Point point, Window.WindowFromPointFlags flags) { return(new Enumerables.PointedDescendantWindows(WindowHandle, point, flags)); }