PeekNamedPipe

PeekNamedPipeは、パイプからデータを削除せずに取得したり、パイプの情報などを取得できる。

PeekNamedPipe function (namedpipeapi.h) - Win32 apps | Microsoft Docs
パイプにより標準出力をエディットボックスに取り込む

前回、ファイルに子プロセス出力を書きだしたが、今回は、パイプに書き出す。
そうすることで、ファイルに出力せずに、標準出力をプログラム内部で扱える。

パイプに書き溜められている出力をどれくらい読み出せばいいかという情報をPeekNamedPipeで取得して、プロセスが終了しても、その分読み出せるまで待つという形になっている。
実行して、しばらく待つと、

子プロセスのpingコマンドの出力内容をパイプから取得できる
子プロセスのpingコマンドの出力内容をパイプから取得できる

子プロセスのpingコマンドの出力内容をパイプから取得できる。

Sample/winapi/PeekNamedPipe/PeekNamedPipe/src/PeekNamedPipe at master · bg1bgst333/Sample · GitHub