private static IntPtr GetVirtualBoxInForeground(IntPtr foregroundWindow, string foregroundWindowTitle) { var mainWindow = IntPtr.Zero; if (GetWindowClass(foregroundWindow) == "QWidget" && foregroundWindowTitle.EndsWith("VirtualBox")) { WinApi.EnumChildWindows(foregroundWindow, (hwnd, lParam) => { if (GetWindowString(hwnd) == "qt_scrollarea_vcontainer" && GetWindowClass(hwnd) == "QWidget") { mainWindow = WinApi.GetParent(hwnd); return(false); } return(true); }, IntPtr.Zero); } return(mainWindow); }
private static bool IsDesktopWindowLineage(IntPtr hwnd) { var parent = WinApi.GetParent(hwnd); if (parent == IntPtr.Zero) { return(false); } var parentparent = WinApi.GetParent(parent); if (parentparent == IntPtr.Zero) { return(false); } var ancestor = WinApi.GetAncestor(hwnd, 2); return(ancestor == parentparent); }