以前、C# のソースは書きましたが、
ちょっと違う画面を、という時に不便なのでPowerShellで書き直してみた。
サクッと画面名で絞り込んで使えるように、というわけで今回はプロセスからWindowTitleだけで絞っています。
$signature = @"
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
"@
$SW_HIDE = 0
$func = Add-Type -MemberDefinition $signature -Namespace "Win32Functions" -name "ShowWindowFunction" -passThru
$Process = Get-Process | Where-Object {$_.MainWindowTitle -match "ほげほげ"}
foreach($p in $Process){
$func::ShowWindow($p.MainWindowHandle, $SW_HIDE)
}