HSP命令講座 <exec命令>

Last Update : 2008/04/xx

PR HSPの書籍 『最新HSP3.2 プログラミング入門』

exec命令 (外部プログラムの実行)

 外部プログラム(ファイル)を起動する命令です。命令名の由来は、「execute」(実行)から。プログラムの起動ランチャーツールとしても利用できます。

 exec "ファイルパス・ファイル名", 実行モード, "コマンド"

 第1パラメータは下の実行モードです。コマンドには「open」(デフォルト?)、「print」、「explorer」などがあります。ファイルが存在しない場合はエラーでプログラムが落ちるので、exist命令でファイルの存在を確認してください。

モード 説明
通常の実行 (デフォルト)
16 拡張子に関連付けされたプログラムを実行
32 指定したファイルの印刷 (コマンド「print」指定と同等)
+1 [HSP2のみ]
タスク待ち実行 (起動したプログラムが終了するまで処理待ち)
+2 タスクバーに最小化した状態てプログラムを起動

↑TOP↑

サンプルソース (モード0)

 簡単なサンプルスクリプト、モード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+""

 プログラム起動後に対応する特定ファイルをそのまま読み込んでみます。半角スペースを空けてファイルパス文字列を引っ付けます。

//	メモ帳で特定のテキストファイルを開く

	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に付属するヘルプブラウザは検索ワードを指定することで該当する命令や関数の説明を表示するになってます。

//	HSPヘルプブラウザ

	exec "hsphelp\\helpman exec"

 フォルダの区切りとなる円記号「\」は、2個指定しないと認識しないので注意してください。『プログラミングマニュアル1・基本仕様ガイド (hspprog.htm)』の「2.スクリプト記述の基本→文字列」を参照。

 コマンドの文字列は下のようなものがあります。実際の挙動は各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"

↑TOP↑

サンプルソース (モード16)

 モード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

○ その他
 → HSPプログラミングTIPS (検索エンジンの利用)
 → HSPプログラミングTIPS (Windows Media Player、エクスプローラ)

↑TOP↑

〜HSP3 あれこれ〜
ウィンドウ | オブジェクト | ファイル | フォルダ | キーボード | マウス | メニュー | システム | 文字列 | COM | その他

Copyright © 2005-2011 ゲーム作成ソフトHSPの情報をいろいろと Let's HSP!. All rights reserved.