Вывести дочерний процесс панели задач на передний план? - PullRequest
0 голосов
/ 14 января 2019

У меня есть сценарий PowerShell, который запускает программу с Start-Process с параметром -WindowStyle Minimized, эта программа запускает другой процесс, который отображается как дочерний процесс на панели задач, поэтому для его вывода на передний план мне нужно щелкните по нему и выберите правильное окно.

Теперь я пытаюсь, чтобы мой сценарий автоматически выводил программу на передний план при выполнении условия. Я нашел метод ниже, который прекрасно работает, когда процесс, запущенный на панели задач, не имеет дочернего процесса. Однако дочерний процесс, который я хочу вывести на первый план, не работает с этим методом. Если я использую родительский процесс, он будет работать.

$sig = '[DllImport("user32.dll")] public static extern bool 
ShowWindowAsync(IntPtr hWnd, int nCmdShow);'
Add-Type -MemberDefinition $sig -name NativeMethods -namespace Win32
$hwnd = @(Get-Process | Where-Object {$_.Name -eq "notepad"}) 
[0].MainWindowHandle
[Win32.NativeMethods]::ShowWindowAsync($hwnd, 2)
[Win32.NativeMethods]::ShowWindowAsync($hwnd, 4)

Кто-нибудь знает, как я могу заставить это работать с дочерним процессом панели задач?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...