• ベストアンサー

プロセスが実行中かどうか調べる方法

CreateProcessで作ったプロセスが実行中かどうか調べる方法はありませんか。 標準出力に値を吐き出し続けるコンソールアプリケーションから、値を取得して処理をしたいのですが、CreateProcessでつくってパイプで処理しようとしています。ぐぐったところWaitForSingleObjectで待つようなサンプルは見つかったのですが、呼び出したプロセスが終了しないのでこれは使えないので 実行中はずっとループし続けるような感じにしたいのですが。 よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

> WaitForSingleObjectで待つようなサンプルは見つかったのですが、 > 呼び出したプロセスが終了しないのでこれは使えないので 使えますよ.dwMilliseconds 引数に0を指定すれば待たずにすぐ終了し, 戻り値を調べれば実行中 (WAIT_TIMEOUT) か終了したか (WAIT_OBJECT_0) どうかわかります. WaitForSingleObject http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_waitforsingleobject.asp http://yokohama.cool.ne.jp/chokuto/urawaza/api/WaitForSingleObject.html

matico
質問者

お礼

ありがとうございます。 引数0で思ったように動きました。 waitなので必ず待つものだと思っていました。 マニュアルはよく読まないといけないですね。

関連するQ&A