DuplicateHandleは、ハンドルを複製する。
DuplicateHandle function (handleapi.h) - Win32 apps | Microsoft Docs
同じ入出力先のハンドルを複製して、子プロセスに使ってもらう。
今回は、pingコマンドを子プロセスで実行してもらうのだが、ping.logへの出力を複製して、そこに出力を書いてもらう。
ping.logのハンドルhFile、複製した出力ハンドルhStdOutを表示。
"ping yahoo.co.jp"というコマンドを子プロセス実行してもらい、出力をping.logに残す。
ping.logのもともとのハンドル。
複製したハンドル。
WaitForSingleObjectで待っていて終わるとこれを出す。
確かにping.logが出力されている。
pingコマンドの出力が書かれている。