Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

Evan Husted 1 tahun lalu
induk
melakukan
1a005f96e7
1 mengubah file dengan 22 tambahan dan 9 penghapusan
  1. 22 9
      src/Ryujinx.UI.Common/Helper/ConsoleHelper.cs

+ 22 - 9
src/Ryujinx.UI.Common/Helper/ConsoleHelper.cs

@@ -7,6 +7,24 @@ namespace Ryujinx.UI.Common.Helper
 {
     public static partial class ConsoleHelper
     {
+        [SupportedOSPlatform("windows")]
+        [LibraryImport("kernel32")]
+        private static partial nint GetConsoleWindow();
+
+        [SupportedOSPlatform("windows")]
+        [LibraryImport("user32")]
+        [return: MarshalAs(UnmanagedType.Bool)]
+        private static partial bool ShowWindow(nint hWnd, int nCmdShow);
+
+        [SupportedOSPlatform("windows")]
+        [LibraryImport("user32")]
+        private static partial nint GetForegroundWindow();
+        
+        [SupportedOSPlatform("windows")]
+        [LibraryImport("user32")]
+        [return: MarshalAs(UnmanagedType.Bool)]
+        private static partial bool SetForegroundWindow(nint hWnd);
+
         public static bool SetConsoleWindowStateSupported => OperatingSystem.IsWindows();
 
         public static void SetConsoleWindowState(bool show)
@@ -35,16 +53,11 @@ namespace Ryujinx.UI.Common.Helper
                 return;
             }
 
-            ShowWindow(hWnd, show ? SW_SHOW : SW_HIDE);
-        }
+            SetForegroundWindow(hWnd);
 
-        [SupportedOSPlatform("windows")]
-        [LibraryImport("kernel32")]
-        private static partial nint GetConsoleWindow();
+            hWnd = GetForegroundWindow();
 
-        [SupportedOSPlatform("windows")]
-        [LibraryImport("user32")]
-        [return: MarshalAs(UnmanagedType.Bool)]
-        private static partial bool ShowWindow(nint hWnd, int nCmdShow);
+            ShowWindow(hWnd, show ? SW_SHOW : SW_HIDE);
+        }
     }
 }