私は使ったことがありませんが、
pipeexec と pipeget で外部の実行ファイルが終了しているかどうか
監視することができたはずです。
試しに組んでみました。
こちらからダウンロードできます。
ソースコードも一応同梱しておきました。
http://www1.axfc.net/uploader/Sc/so/288315.zip&key=hsp
; [実行ファイルA] ------------------------------------------
#packopt name "exe_a"
;pipeexec/pipegetが定義されているファイルです。必ずインクルード。
#include "hspext.as"
;pipeexec用に大きめのバッファを確保する必要がある?(詳しくはリファレンス参照)
sdim buf,32000
screen 0,320,240
button "実行する",*実行開始
stop
*実行開始
;既に実行中であれば何もしない
if zikkou_flag = 1 {
mes "既に実行中です。終了までお待ち下さい。"
} else {
zikkou_flag = 1
pipeexec buf,"exe_b.exe",1
mes "exe_b.exe を実行しました。"
}
goto *終了待ち
*終了待ち
; 終了まで待つ
repeat
pipeget buf
if stat = 0 {
zikkou_flag = 0
mes "終了されました。"
break
}
wait 1
loop
stop
; [実行ファイルB] ------------------------------------------
#packopt name "exe_b"
randomize
screen 0,320,240
r=150+rnd(400)
repeat r
cls
mes "終了までの時間が乱数により決められます"
mes "終了まであと " + r + " 回"
r--
wait 1
loop
end
と、ここまでやってから気づいたのですが、
pipegetのヘルプに素晴らしいサンプルがありました・・・;
そちらを見て頂いた方が分かりやすいかもしれませんが、
私のサンプルも一応開示しておきます。