パイプ付き実行監視
pipeget p1
p1=変数 : 結果が格納される文字列型変数名
(プラグイン / モジュール : hspext)
pipeexec命令で実行されたプロセスを監視します。 p1に、パイプの情報を取得するバッファとなる文字列型変数を指定する必要が あります。 pipeexecによるファイル実行の状況は、システム変数statに返されます。 stat値 | 内 容 | 変数p1の内容 --------------------------------------------------------- 0 | 実行終了 | 変化なし 1 | 実行準備中 | 変化なし 2 | StdOutputを取得中 | StdOutput 3 | StdErrorを取得中 | StdError 4 | 終了処理中 | 変化なし 通常は、pipeexec命令の実行後はpipeget命令でstat値が0になる(実行終了)までwait/await命令を入れながら監視を続けて下さい。 1回の実行で取得されるサイズは、p1で指定される文字列型の変数が確保しているバッファサイズまでになりますので、バッファが溢れることはありません。通常4096文字程度のバッファを割り当てるようにしていれば問題はないでしょう ( 例:「sdim buf,4096」)。
sdim ln,4096 sdim buf,32000 pipeexec buf,"notepad.exe",1 if stat : dialog "実行できませんでした" : end mes "実行中..." repeat pipeget ln ; パイプの取得/更新 if stat=0 : break ; 実行終了ならループを抜ける wait 10 loop mes "実行完了..." mes buf stop
プラグイン / モジュール | hspext |
バージョン | 3.5 |
作成日 | 2009/08/01 |
著作者 | onitama |
URL | http://hsp.tv/ |
備考 | hspext.asをインクルードすること。 |
タイプ | 拡張命令 |
グループ | 拡張入出力制御命令 |
対応環境 |
|
hs ファイル | hsphelp\hspext.hs |