Я хочу SetForegroundWindow современного/универсального приложения Windows/магазина Windows ⇐ C#
-
Anonymous
Я хочу SetForegroundWindow современного/универсального приложения Windows/магазина Windows
Я пытаюсь программно переключить фокус на современное приложение Windows из другого приложения.
Это можно сделать с помощью настольных приложений Windows, импортировав user32.dll и используя метод SetForegroundWindow.
Это отлично работает для настольных приложений, но с современными/универсальными приложениями/приложениями магазина Windows вы не можете получить дескриптор окна из процесса. Процесс можно получить, но дескриптор окна будет равен 0.
Вот пример кода, который работает для настольных приложений. Этот код предназначен только в качестве примера.
[DllImport("user32.dll")] [возврат: MarshalAs(UnmanagedType.Bool)] статический extern bool SetForegroundWindow(IntPtr hWnd); публичный мойМетод() { var myProc = Process.GetProcessesByName("nameOfModernAppaHere"); SetForegroundWindow(myProc[0].MainWindowHandle); } Кто-нибудь знает способ заставить сосредоточиться на современном приложении?
Спасибо
Я пытаюсь программно переключить фокус на современное приложение Windows из другого приложения.
Это можно сделать с помощью настольных приложений Windows, импортировав user32.dll и используя метод SetForegroundWindow.
Это отлично работает для настольных приложений, но с современными/универсальными приложениями/приложениями магазина Windows вы не можете получить дескриптор окна из процесса. Процесс можно получить, но дескриптор окна будет равен 0.
Вот пример кода, который работает для настольных приложений. Этот код предназначен только в качестве примера.
[DllImport("user32.dll")] [возврат: MarshalAs(UnmanagedType.Bool)] статический extern bool SetForegroundWindow(IntPtr hWnd); публичный мойМетод() { var myProc = Process.GetProcessesByName("nameOfModernAppaHere"); SetForegroundWindow(myProc[0].MainWindowHandle); } Кто-нибудь знает способ заставить сосредоточиться на современном приложении?
Спасибо
Мобильная версия