在C#中捕获标准输出的内容

前端之家收集整理的这篇文章主要介绍了在C#中捕获标准输出的内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用外部库(.dll),其中一些方法(包括构造函数)将内容写入标准输出(a.k.a控制台),因为它旨在与控制台应用程序一起使用.但是我试图将它合并到我的 Windows窗体应用程序中,所以我想捕获此输出并以我喜欢的方式显示它.即我的窗口中的“状态”文本字段.

我能找到的只是ProcessStartInfo.RedirectStandardOutput,虽然它显然不符合我的需要,因为它在示例中与其他应用程序(.exe)一起使用.我没有执行外部应用程序,我只是使用DLL库.

解决方法

创建一个StringWriter,并为其设置标准输出.
StringWriter stringw = new StringWriter();
Console.SetOut(stringw);

现在,打印到控制台的任何内容都将插入到StringWriter中,您可以通过调用stringw.ToString()随时获取内容,这样您就可以执行类似textBox1.AppendText(stringw.ToString()); (因为你说你有一个winform并有一个状态文本字段)来设置文本框的内容.

原文链接:https://www.f2er.com/csharp/243125.html

猜你在找的C#相关文章