如何读取StandardOutput和StandardError以外的进程的输出

时间:2013-12-17 21:33:21

标签: .net vb.net command-line

当我在命令行中运行程序gpg而没有任何参数时,我得到以下内容:

---->gpg
gpg: Go ahead and type your message...

然后程序等待输入。但是“gpg:继续输入你的消息......”并没有包含在我有异步处理程序设置捕获的StdOut或StdErr流中。如何访问和阅读它?

编辑:我觉得有必要澄清一些困惑。我不希望捕获用户输入之后行“gpg:继续输入你的消息......” - 我可以做得很好。我也没有任何困难重定向程序中的任何实际输出或错误。只是当我在没有参数的cmd中运行程序时,在接受输入之前出现“gpg:继续并输入你的消息...”这一行,而当我通过我的应用程序运行没有参数的进程时它就直接等待输入没有“gpg:继续输入你的消息...”出现在标准输出或标准错误流中。在所有其他方式中,程序按预期运行(即在cmd中显示的所有内容都出现在StdOut或StdErr中) - 我只是好奇为什么会这样。如何在不通过这两个流之一的情况下将此行写入缓冲区?它怎么能被捕获?

0 个答案:

没有答案