public static IntPtr GetWindowUnderMouse() { WindowPoint pt = new WindowPoint(); if (GetCursorPos(ref pt)) { return(WindowFromPoint(pt)); } return(IntPtr.Zero); }
// anvaka's changes below public static Point GetCursorPosition() { var pos = new Point(); var win32Point = new WindowPoint(); if (GetCursorPos(ref win32Point)) { pos.X = win32Point.X; pos.Y = win32Point.Y; } return(pos); }
private static extern IntPtr WindowFromPoint(WindowPoint windowPoint);
private static extern bool GetCursorPos(ref WindowPoint pt);