我有一个PowerShell脚本,该脚本通过带有-WindowStyle Minimized选项的Start-Process启动一个程序,该程序启动另一个进程,该进程在任务栏中显示为子进程,因此为了将其显示在前面,我需要单击它,然后选择适当的窗口。
现在,我正在尝试让我的脚本在满足条件时自动将程序带到最前面。我发现以下方法在任务栏中运行的进程没有子进程时非常有用。但是,我要带到最前面的子进程不适用于此方法。如果我使用父进程,它将起作用。
$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)
有人知道我如何使它与子任务栏流程一起工作吗?