private IntPtr GetWindowHandleFromPoint(int xPoint, int yPoint) { var handle = Win32NativeMethods.WindowFromPoint(xPoint, yPoint); if (IsInterestingWindow(handle)) { return(handle); } var parentHandle = Win32NativeMethods.GetParent(handle); while (parentHandle != IntPtr.Zero) { if (IsInterestingWindow(parentHandle)) { return(parentHandle); } parentHandle = Win32NativeMethods.GetParent(parentHandle); } return(IntPtr.Zero); }