在C中的win32编程中:
什么是在另一个win32程序中执行win32控制台程序的最佳方法,并让启动执行的程序捕获输出?目前我将程序重定向输出到文件,但我确信我必须能够打开某种管道?
使用CreateProcess
Win32 API启动子进程.
传递给它一个STARTUPINFO
结构hStdInput
,hStdOutput
并将hStdError
句柄设置为你打开的文件句柄(真实文件或内存映射文件应该工作).您不需要指定所有三个,您只能重定向您真正需要的那些; 最常见的情况是hStdOutput
.
如果要与子进程(通过hStdInput
)进行通信,则需要等待它通过调用进行初始化WaitForInputIdle
.