2009-05-12 10 views
0

私はc#のProcess.BeginOutputReadLineに相当するC++を知りたかったのですが、別のプロセスの標準出力から非同期的に読み込みました。そのためのAPIはありますか?Process.BeginOutputReadLineのwin32 api

答えて

1

プロセスの標準出力を読み取るには、STARTUPINFOに渡されたインスタンスに適切なハンドルを割り当てる必要があります。CreateProcessに渡します。 STARTF_USESTDHANDLESフラグを付けることを忘れないでください。

通常、匿名パイプが使用され、CreatePipeによって作成されます。

例としては「Creating a Child Process with Redirected Input and Output」を参照してください。

通常のWin32アプローチ(OVERLAPPED +イベント、IOCompleteion Port、など)を使用して、出力ハンドルを非同期で読み取ることができます。

関連する問題