布団が俺を呼んでいる

丘山大一のぶろぐ

PowerShell 特定の画面を非表示にする(Win32API利用)

以前、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) 
}


【改訂新版】 Windows PowerShell ポケットリファレンス

新品価格
¥3,002から
(2015/12/3 23:18時点)

コメントを書く