从另一个程序执行并捕获一个程序

5 c windows console winapi stdout

在C中的win32编程中:

什么是在另一个win32程序中执行win32控制台程序的最佳方法,并让启动执行的程序捕获输出?目前我将程序重定向输出到文件,但我确信我必须能够打开某种管道?

Fra*_*nov 5

使用CreateProcessWin32 API启动子进程.

传递给它一个STARTUPINFO结构hStdInput,hStdOutput并将hStdError句柄设置为你打开的文件句柄(真实文件或内存映射文件应该工作).您不需要指定所有三个,您只能重定向您真正需要的那些; 最常见的情况是hStdOutput.

如果要与子进程(通过hStdInput)进行通信,则需要等待它通过调用进行初始化WaitForInputIdle.