exec

Windowsのファイルを実行する

exec "filename",p1,"command"

"filename" : 対象となるファイル名
p1=0~(0)  : ファイル実行モード
"command"  : コンテキストメニューの操作名

解説

execは "filename" で指定したファイル名のアプリケーションを実行します。
拡張子がEXEの場合は、拡張子を省略することができます。
p1で実行時のモードを選ぶことができます。p1を省略した場合は0になります。

 モード0  : HSPノーマル実行
 モード2  : 最小化モードで実行
 モード16 : 関連付けされたアプリケーションを実行
 モード32 : 指定したファイルを印刷する

"command"が指定された場合は、 "filename"で指定したファイルまたはフォル
ダ名に対するコンテキストメニュー操作名となります。
コンテキストメニュー操作名は、レジストリに登録されているアクションを指
定する文字列で、標準で以下のようなものが用意されています。

  操作名     |     説    明
 ---------------------------------------------------------------------
  edit       | エディタを開いて編集する。
  explore    | フォルダを選択して、エクスプローラを起動します。
  open       | 関連付けられたアプリケーションでファイルを開きます。
  print      | 関連付けられたアプリケーションでファイルを印刷します。
  properties | ファイルまたはフォルダのプロパティを表示します。

"command"が指定された場合は、ファイル実行モードの16、 32は無効になりま
す。また、実行結果を示す値がシステム変数statに返されます。

ノーマル実行は、新しく起動したアプリケーションのウィンドウがアクティブ
になり、入力フォーカスも移りますが、マルチタスクで、 HSPは終了せずに実
行を続けます。

例 :
	exec "calc"  ; Windows電卓を起動

また、ファイル名に続けてパラメータを書くこともできます。

例 :
	exec "notepad hsp.txt"  ; ノートパッドでhsp.txtを開く

モード2は指定したアプリケーションを最小化した状態で実行します。
DOSアプリケーションの実行時にHSPの画面を遮ることなくバックで実行させる
ことができます。

モード16は、実行ファイルではなく、データファイルを指定してその拡張子に
関連付けられたアプリケーションを実行します。

例 :
	exec "hsp.txt",16  ; hsp.txtを関連付けられたアプリケーションで開く

上の例では、「hsp.txt」を関連付けされたアプリケーションで開きます。
(通常は、notepad.exe) 
また、 モード16ではインターネットのURLを指定することでインターネットシ
ョートカットとしても使用することが可能です。

例 :
	;インターネットのページを開く
	exec "http://www.at-m.or.jp/~onitama/",16

モード32では、指定したファイルに関連付けされたアプリケーションを経由し
て、プリンタに印刷をします。
たとえば、

例 :
	exec "hsp.txt",32  ; hsp.txtをプリンタで印刷

は、「txt」に関連付けされたアプリケーションで「hsp.txt」を自動的に印刷
します。印刷のオプションなどはすべて、関連付けされたアプリケーションで
指定されたものになります。

モードは、複数同時に指定することが可能です。
たとえば、モード2とモード16を同時に指定する場合は、それぞれの値を加算し
て18になります。この場合は、「最小化モードで関連付けされたアプリケーションを実行」
になります。

※HSP2.61までサポートされていたモード1(タスク実行待ち)は、HSP3.0では
サポートしていません。起動したプロセスを監視するか、
コンソールアプリケーションの場合はpipeexec命令をご使用ください。

関連項目

pipeexecパイプ付き実行(hspext)

サンプル逆引き (4)

aplkey.hsp
aplnote.hsp
demo.hsp
noteadd.hsp

情報

バージョン3.1
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.1標準命令
タイプ内蔵命令
グループプログラム制御命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
移植のヒントHSPLet時は、HTML ページを表示する目的で使用されます。
第3引数の意味がオリジナルの HSP とは違うため、この命令を直接使用することはお勧めしません。
代わりに letutil.hsp 内に定義されている showPage fileName, target 命令を使用することをお勧めします。
hs ファイルhsphelp\i_prog.hs