pipeget

パイプ付き実行監視

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

関連項目

pipeputパイプに1byte送る(hspext)

サンプル逆引き (2)

cnvsrc.hsp
pipe.hsp

情報

プラグイン / モジュールhspext
バージョン3.5
作成日2009/08/01
著作者onitama
URLhttp://hsp.tv/
備考hspext.asをインクルードすること。
タイプ拡張命令
グループ拡張入出力制御命令
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspext.hs