HTAで process ID の取得
ブラウザでタグ入力するためにHTAを使っているが、process ID を取得する方法が分からなくて手動でフォームに入力してた。こないだやり方に気がついたのでメモ。
function getPID(){
<!--
//PID取得,formにセット
// -->
var Wsh = new ActiveXObject("WScript.shell");
var exeObj = Wsh.exec('tasklist /FI "imagename eq firefox.exe" /fo table /nh');
//コマンド実行終了まで待つ。
while(exeObj.status == 0){ //statusが実行中の場合0
Wsh.Run( "nircmdc wait 100" ,0,true);
}
var retStr = exeObj.stdOut.readAll();
var ary = retStr.split(/\s+/);
document.form1.pID.value = ary[2];
}
tasklist というコマンドを実行して、その結果を利用する。
nircmdc というのは sleep の代わりに使っている。便利コマンド集みたいなtool。
0 件のコメント:
コメントを投稿