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

时间:2009-02-27 07:53:13

标签: c windows winapi console stdout

在C:中的win32编程中

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

1 个答案:

答案 0 :(得分:5)

使用CreateProcess Win32 API启动子进程。

传递STARTUPINFO结构hStdInputhStdOutputhStdError句柄设置为您打开的文件句柄(实际文件或内存映射文件应该有效)。您不需要指定所有三个,您只能重定向您真正需要的那些;最常见的情况是hStdOutput

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