public static void BringToTop(this IntPtr windowHandle, bool restoreIfMinimizedOrHidden = true) { SEBWindowHandler.SetForegroundWindow(windowHandle); SEBWindowHandler.BringWindowToTop(windowHandle); int showCmd = windowHandle.GetPlacement().showCmd; if (!restoreIfMinimizedOrHidden || showCmd != 2 && showCmd != 0) { return; } SEBWindowHandler.EditWindowByHandle(windowHandle, SEBWindowHandler.ShowWindowCommand.SW_RESTORE, false); }