起動しているウィンドウを表示する

起動しているウィンドウの名前を表示させてみました。(エクスプローラ以外)

get-process | % {if ($_.mainwindowhandle -ne 0) {$_.mainwindowtitle}}




エクスプローラのウィンドウを表示させるにはshell.applicationオブジェクトを使用します。
今回は開いているフォルダ名を表示してみました。

Function ComRelease{
    param($obj);
    if ($obj -ne $null ){
        while([System.Runtime.InteropServices.Marshal]::ReleaseComObject($obj) -gt 0){}
    }
}

$sh = new-object -com shell.application
foreach ($w in $sh.windows() ){
    $w.LocationName;
}
ComRelease $sh;
ComRelease $w;


ちゃんと表示できたようです。