在 win32 中用 C 编程:
在另一个 win32 程序中执行 win32 控制台程序并让启动执行的程序捕获输出的最佳方法是什么?目前我使程序将输出重定向到文件,但我确信我必须能够打开某种管道?
Use the CreateProcess http://msdn.microsoft.com/en-us/library/ms686329(VS.85).aspx用于启动子进程的 Win32 API。
传递给它一个STARTUPINFO http://msdn.microsoft.com/en-us/library/ms686331(VS.85).aspx结构与hStdInput
, hStdOutput
and hStdError
句柄设置为您打开的文件句柄(真实文件或内存映射文件都应该有效)。您不需要指定所有三个,您可以仅重定向您真正需要的;最常见的情况是hStdOutput
.
如果你想与子进程通信(通过hStdInput
),您需要通过调用等待它初始化WaitForInputIdle http://msdn.microsoft.com/en-us/library/ms687022(VS.85).aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)