【发布时间】:2009-11-23 05:33:40
【问题描述】:
我正在通过 Process.Start 启动一个进程并重定向标准输出。我可以通过流程实例上的标准输出流访问标准输出,但我必须继续检查它。是否可以将该输出重定向到我的控制台窗口的标准输出?
【问题讨论】:
标签: c#
我正在通过 Process.Start 启动一个进程并重定向标准输出。我可以通过流程实例上的标准输出流访问标准输出,但我必须继续检查它。是否可以将该输出重定向到我的控制台窗口的标准输出?
【问题讨论】:
标签: c#
如果我对您的问题的理解是正确的,那么您是在说您正在重定向标准输出,但您必须继续从该流中读取数据以阻止进程在缓冲区已满时阻塞。您不想继续阅读,所以您正在寻找一种将标准输出重定向到控制台窗口的方法?
既然如此,为什么不直接重定向标准输出呢?如果你不重定向它,控制台窗口不是它会去的地方吗?
如果您必须重定向标准输出,最好的方法可能是在线程池上放置一个委托以从标准输出流中读取。如果只想读取所有输出,可以调用 ReadToEnd。如果您想显示它以及访问代码中的输出,您可以读取然后将其写入控制台。
【讨论】: