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