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)

情報

プラグイン / モジュールhspext
バージョン2.61
作成日2004/03/01
著作者onitama
URLhttp://www.onionsoft.net/
備考hspext.asをインクルードすること。
タイプ拡張命令
グループ拡張入出力制御命令
hs ファイルhsphelp\hspext.hs