JavaScriptからexeを実行する

JavaScriptからexeを実行したい。実行時に引数を与えたり、exeの終了を待ったりしたい。

Runメソッド

object
.Run(strCommand, [intWindowStyle], [bWaitOnReturn]) 

引数

  • strCommand
    実行するコマンドラインを示す文字列値
  • intWindowStyle
    プログラムのウィンドウの外観を示す整数値(省略可能)
  • bWaitOnReturn
    スクリプト内終了を待つかどうかを示すbool値(省略可能)

intWindowStyle

0~10まで、それぞれ用意されているが、基本的に使うのは0、2、3くらいかな

IntWindowStyle内容
0ウィンドウを非表示にし、別のウィンドウをアクティブにします。
1ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。アプリケーションでウィンドウを最初に表示するときには、このフラグを指定してください。
2ウィンドウをアクティブにし、最小化ウィンドウとして表示します。
3ウィンドウをアクティブにし、最大化ウィンドウとして表示します。
4ウィンドウを最新のサイズと位置で表示します。アクティブなウィンドウは切り替わりません。
5ウィンドウをアクティブにし、現在のサイズと位置で表示します。
6指定したウィンドウを最小化し、Z オーダー上で次に上位となるウィンドウをアクティブにします。
7ウィンドウを最小化ウィンドウとして表示します。アクティブなウィンドウは切り替わりません。
8ウィンドウを現在の状態で表示します。アクティブなウィンドウは切り替わりません。
9ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。アプリケーションで最小化ウィンドウを復元するときには、このフラグを指定してください。
10アプリケーションを起動したプログラムの状態に基づいて、表示状態を設定します。

サンプル

基本的に第一引数にexeのパスを入れさえすれば、実行できる

function sample () {
  var shell = new ActiveXObject('WSctipt.Shell');
  shell.Run('C:\\Windows\\System32\\notepad.exe'); 
}

自作のexe sample.exeに引数 salad0 をつけて実行
ウィンドウは非表示でexeの終了を待つパターン

function sample () {
  var shell = new ActiveXObject('WSctipt.Shell');
  shell.Run('/sample.exe salad 0', 0, true); 
}

参考

Run メソッド
タイトルとURLをコピーしました