JavaScriptでexeファイルを実行する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptでexeファイルを実行する方法について解説しています。事前にActiveXコントロールを有効にする必要があります。JScriptとVBScriptが動作し、JScriptがJavaScriptと互換性があります。ファイル操作やデスクトップアプリを作成することが出来ます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

JavaScriptでexeファイルを実行する方法について解説します。

実際のコードをもとに解説していきますので、理解を深めていきましょう。

また、入門向けのJavaSriptを学習できるサイトも紹介しているので、合わせてご覧ください。

 

なお本記事は、オンラインブートキャンプ フロントエンドコース(JavaScript・jQuery講座)の内容をもとにしています。

 

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptでexeファイルを実行する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

exeファイルとは

exeファイルとは、MS-DOSやWindowsで実行できるプログラムが収められたファイルのことです。
ファイル名に「.exe」という拡張子がつけられていることからこう呼ばれています。
 

JavaScriptでexeファイルを実行する方法

JavaScriptでローカル環境にあるexeファイルを実行するためにはWshShellオブジェクトのRunメソッドを使用します。

 

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

 

object:WshShellオブジェクトを指定します。
strCommand:実行するコマンドラインを文字列で指定します。

ここに目的のexeファイルまでのパスを指定することでexeファイルを実行することが出来ます。

パスの後ろに半角スペースで区切って文字列を設定することで実行ファイルへ引数を渡すことが出来ます。

intWindowStyle:プログラムのウィンドウの外観を示す整数値です。(省略可能)

実行するアプリケーション(実行ファイル)によっては、反映されない場合もあります。

bWaitOnReturn: 呼び出したプログラムが終了するまで、次の処理を待機させるかどうかを設定する値(Boolean値)(省略可能)

true:呼び出したプログラムが終了するまで、スクリプトの処理は停止します。

false:スクリプトの処理は停止せず、次の処理を実行します。

省略した場合は、falseが設定されます。

 

intWindowStyleの設定値一覧

0:ウィンドウを非表示にし、別のウィンドウをアクティブにします。

1:ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。
アプリケーションでウィンドウを最初に表示するときには、このフラグを指定してください。

2:ウィンドウをアクティブにし、最小化ウィンドウとして表示します。

3:ウィンドウをアクティブにし、最大化ウィンドウとして表示します。

4:ウィンドウを最新のサイズと位置で表示します。アクティブなウィンドウは切り替わりません。

5:ウィンドウをアクティブにし、現在のサイズと位置で表示します。

6:指定したウィンドウを最小化し、Z オーダー上で次に上位となるウィンドウをアクティブにします。

7:ウィンドウを最小化ウィンドウとして表示します。アクティブなウィンドウは切り替わりません。

8:ウィンドウを現在の状態で表示します。アクティブなウィンドウは切り替わりません。

9:ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。
アプリケーションで最小化 ウィンドウを復元するときには、このフラグを指定してください。

10:アプリケーションを起動したプログラムの状態に基づいて、表示状態を設定します。

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

実際に書いてみよう

// Shell関連の操作を提供するオブジェクトを取得
var sh = new ActiveXObject("WScript.Shell");
// パスを指定してメモ帳を起動
sh.Run( "C:/WINDOWS/system32/notepad.exe", 1, true);
// オブジェクトを解放
sh = null;

 

筆者プロフィール

この記事を監修してくれた方

水野大輝(みずのたいき)
2014年より、某物流会社のシステム開発担当として入社。

未経験ながら、社内システム保守~新規受注システム開発まで携わり、JavaScript Ruby on Rails PostgreSQLなどの経験を積む。
現在も、開発案件に携わりながら、日々勉強中。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

また、TechAcademyではJavaScriptを使ってWebサービスを公開できるオンラインブートキャンプ フロントエンドコース(JavaScript・jQuery講座)を開催しています。

プログラミングの初心者でも受講可能です。Webサイトの表現の幅を広げたいという方はぜひご覧ください。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。