2009-02-27 4 views
5

から一つの番組をキャプチャ:実行し、CでWin32プログラミングで別の

いただきました別のWin32プログラム内のWin32コンソールプログラムを実行し、実行出力をキャプチャ開始したプログラムを持っているための最良の方法?現時点では、出力をファイルにリダイレクトするようにしましたが、何らかのパイプを開く必要があると確信していますか?

答えて

5

CreateProcess Win32 APIを使用して、子プロセスを開始します。ファイルに設定hStdInputhStdOutputhStdErrorハンドル付きSTARTUPINFO構造は、あなたが(実際のファイルやメモリのいずれかが、ファイルが動作するはずマッピングされた)が開か扱うことに

パス。あなたは3つすべてを指定する必要はなく、本当に必要なものだけをリダイレクトすることができます。最も一般的なケースはhStdOutputです。

子プロセス(hStdInput経由)と通信する場合は、WaitForInputIdleを呼び出して初期化を待つ必要があります。

+0

ありがとうございます。メモリマップファイルへのstdoutputの出力は、正確には私の後でした。 –

関連する問題