与子进程的 stdin/stdout 异步通信
我想创建一个子进程,并异步读取其标准输出。事实证明,我必须创建一个命名管道来连接到标准输出,因为匿名管道不支持异步读取。
我知道函数 CreateProcess
、CreateNamedPipe
、CreateFile
和 ReadFile
,但是是否有一些示例代码可以连接商场?我被参数的海洋蒙蔽了双眼。
I want to create a child process, and read its stdout asynchronously. It turns out that I have to create a named pipe to connect to the stdout, since anonymous pipes do not support asynchronous reads.
I know about the functions CreateProcess
, CreateNamedPipe
, CreateFile
, and ReadFile
, but is there some sample code that connects them all? I am blinded by the sea of parameters.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下是执行此操作的示例:
http:// msdn.microsoft.com/en-us/library/aa365603(v=vs.85).aspx
Here is a sample that does this:
http://msdn.microsoft.com/en-us/library/aa365603(v=vs.85).aspx
基本上,您将管道句柄添加到 CreateProcess 中的 STARTUPINFO 结构中。
我想我之前使用过该代码示例:
http://msdn.microsoft.com/en-我们/库/ms682499(v=vs.85).aspx
Basically you add your pipe handle to the STARTUPINFO structure in the CreateProcess.
I think I used that code sample before :
http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx