Сверните все случаи, когда Блокнот не работает в Windows 11 | код С# ⇐ C#
-
Anonymous
Сверните все случаи, когда Блокнот не работает в Windows 11 | код С#
Я работаю над кодом C#, который сводит к минимуму все открытые экземпляры Блокнота. Этот код отлично работает в Windows 10, но когда я запускаю тот же exe-файл с правами администратора, он сворачивает только один экземпляр Блокнота (из открытых 3..).
Мой код для этого следующий. любая помощь очень ценится. Спасибо
класс Программа { частная константа int SW_SHOWNORMAL = 1; частная константа int SW_SHOWMINIMIZED = 2; частная константа int SW_SHOWMAXIMIZED = 3; [DllImport("user32.dll")] частный статический extern bool ShowWindowAsync (IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] частный статический extern bool MinimizeWindow(System.IntPtr hwnd); static void Main(string[] args) { System.Diagnostics.Process thisProcess = System.Diagnostics.Process.GetCurrentProcess(); Процессы System.Diagnostics.Process[] = System.Diagnostics.Process.GetProcessesByName("Блокнот"); foreach (процесс System.Diagnostics.Process в процессах) { если (процесс == этотпроцесс) продолжать; Дескриптор System.IntPtr = процесс.MainWindowHandle; если (дескриптор == System.IntPtr.Zero) продолжать; IntPtr s1 = процесс.MainWindowHandle; ShowWindowAsync(s1, SW_SHOWMINIMIZED); } } }
Я работаю над кодом C#, который сводит к минимуму все открытые экземпляры Блокнота. Этот код отлично работает в Windows 10, но когда я запускаю тот же exe-файл с правами администратора, он сворачивает только один экземпляр Блокнота (из открытых 3..).
Мой код для этого следующий. любая помощь очень ценится. Спасибо
класс Программа { частная константа int SW_SHOWNORMAL = 1; частная константа int SW_SHOWMINIMIZED = 2; частная константа int SW_SHOWMAXIMIZED = 3; [DllImport("user32.dll")] частный статический extern bool ShowWindowAsync (IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] частный статический extern bool MinimizeWindow(System.IntPtr hwnd); static void Main(string[] args) { System.Diagnostics.Process thisProcess = System.Diagnostics.Process.GetCurrentProcess(); Процессы System.Diagnostics.Process[] = System.Diagnostics.Process.GetProcessesByName("Блокнот"); foreach (процесс System.Diagnostics.Process в процессах) { если (процесс == этотпроцесс) продолжать; Дескриптор System.IntPtr = процесс.MainWindowHandle; если (дескриптор == System.IntPtr.Zero) продолжать; IntPtr s1 = процесс.MainWindowHandle; ShowWindowAsync(s1, SW_SHOWMINIMIZED); } } }
Мобильная версия