Я хочу SetForegroundWindow современного/универсального приложения Windows/магазина WindowsC#

Место общения программистов C#
Ответить
Anonymous
 Я хочу SetForegroundWindow современного/универсального приложения Windows/магазина Windows

Сообщение Anonymous »


Я пытаюсь программно переключить фокус на современное приложение 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); } Кто-нибудь знает способ заставить сосредоточиться на современном приложении?

Спасибо
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»