Last Update : 2008/04/xx
外部プログラム(ファイル)を起動する命令です。命令名の由来は、「execute」(実行)から。プログラムの起動ランチャーツールとしても利用できます。
exec "ファイルパス・ファイル名", 実行モード, "コマンド"
第1パラメータは下の実行モードです。コマンドには「open」(デフォルト?)、「print」、「explorer」などがあります。ファイルが存在しない場合はエラーでプログラムが落ちるので、exist命令でファイルの存在を確認してください。
| モード | 説明 |
| 0 | 通常の実行 (デフォルト) |
| 16 | 拡張子に関連付けされたプログラムを実行 |
| 32 | 指定したファイルの印刷 (コマンド「print」指定と同等) |
| +1 | [HSP2のみ] タスク待ち実行 (起動したプログラムが終了するまで処理待ち) |
| +2 | タスクバーに最小化した状態てプログラムを起動 |
簡単なサンプルスクリプト、モード0。デフォルト値なので第1パラメータは省略できます。
Windowsに付属する電卓などのアプリケーション起動。ファイルパスに「calc.exe」を指定します。実行ファイルの場合は拡張子を省略して「calc」だけでも可。単純なファイル名指定だけで起動できるのは、これらの実行ファイルがWindowsフォルダorシステムフォルダに存在するからです。
; 電卓 exec "calc" ; メモ帳 exec "notepad" ; ペイント exec "mspaint"
; コマンドプロンプト exec "cmd" ; タスクマネージャ exec "taskmgr" ; コントロールパネル exec "control"
; 任意の実行ファイルを起動 dialog "exe", 16, "実行ファイル" if stat = 0 : stop mes refstr exec ""+refstr+""
プログラム起動後に対応する特定ファイルをそのまま読み込んでみます。半角スペースを空けてファイルパス文字列を後ろに付けます。HSPでいうdirinfo関数のタイプ4(HSP2のシステム変数「cmdline」)のコマンドライン文字列に対応したアプリケーションなため実現できています。
; メモ帳で特定のテキストファイルを開く dialog "txt", 16, "テキストファイル" if stat = 0 : stop mes refstr exec "notepad "+refstr+""
; ペイントで特定の画像ファイルを開く dialog "bmp;*.gif;*.png;*.jpg", 16, "画像ファイル" if stat = 0 : stop mes refstr exec "mspaint "+refstr+""
実行ファイルによってはファイルパス以外のコマンドラインオプションを用意してるプログラムも存在します。
; メモ帳で特定のテキストファイルを開き印刷 dialog "txt", 16, "テキストファイル" if stat = 0 : stop mes refstr ; 「/p」=印刷、「/a」=表示モードAscii(デフォルト)、「/w」=表示モードUnicode exec "notepad /p "+refstr+""
; HSP3付属のヘルプブラウザ ; (検索キーワード文字として反映できるようになってる) exec "hsphelp\\helpman exec"
コマンドの文字列は以下のものがあります。実際の挙動は各々のPCの関連付け設定次第です。(ファイルの存在を確認する処理は省略してます。)
; 編集 exec "hogehoge.bmp", , "edit" exec "readnme.txt", , "edit"
; 印刷 exec "hogehoge.bmp", , "print"
; ファイルのプロパティダイアログ exec "hsptv.exe", , "properties"
; エクスプローラ1 (フォルダパス指定) exec "C:\\Program Files", , "explore"
; エクスプローラ2 exec "C:\\", , "open"
; ファイル検索ダイアログ exec "C:\\", , "find"
; Internet Explorer固定起動? exec "index.htm", , "open"
モード16の簡単なサンプルスクリプト。拡張子に関連付けれられたプログラムで起動します。エクスプローラなどでファイル自体をダブルクリックした時と同等の挙動で、各々のPCの関連付け設定次第です。
たとえば、テキストファイル(*.txt)であれば通常は「メモ帳」ですが、外部テキストエディタ(「秀丸」など)に関連付けしてる人はそれが起動します。
HTMLファイル(*.htm;*.html)やURLアドレスであれば、基本的には「Internet Explorer」ですが、「通常使用するブラウザ」が変更されていれば利用しているウェブブラウザ(Firefox、Sleipnir、Lunascape、Operaなど)が起動して、指定したページが開きます。
; デフォルトでは「メモ帳」 exec "readme.txt", 16
; デフォルトでは「Internet Explorer」 exec "index.htm", 16
; デフォルトでは「Windows Media Player」 exec "hogehoge.mp3", 16
; URLアドレス指定でブラウザが立ち上がりウェブサイトを表示 exec "http://www.yahoo.co.jp/", 16
; メールアドレス指定でメーラー起動 exec "mailto:hogehoge@sample.com", 16
; 「Internet Explorer」の起動 exec "iexplore", 16