拍摄彩色控制台输出到WPF应用程序(Capture coloured console output

2019-08-17 10:11发布

类似这样的问题 ,除了控制台程序被包裹在WPF应用程序生成彩色输出,所以这将是很好,如果我能捕捉到的颜色以及文字。

这是我的第一个WPF程序,我不知道如何去寻找/修改权限控制,目前我只是用其工作的文本框,但仅捕获纯文本。

更新:我试着使用的RichTextBox:

richTextBox.Document.Blocks.Clear();
richTextBox.Document.Blocks.Add(new Paragraph(new Run(process.StandardOutput.ReadToEnd())));

唉,只显示纯文本。

Answer 1:

如果我理解你想要正确地做什么,你想屏幕刮,控制台上运行旧版应用程式,并得到控制的控制台输出在通过您的WPF应用程序yourprocess.StandardOutput

颜色数据(和格式),将来自控制台将是ANSI。 这将在重定向的控制台文本字符控制的形式,将显示为扩展ASCII字符和数字显示。 您将需要一个ANSI解释控制把这一回颜色数据。 我知道存在,应该是能够很容易地适应几个ANSI终端控制- 这其中的代码项目是能够处理ANSI格式,但它是一个完整的ANSI终端设计来处理的连接-你可能需要更换代码的端子部的东西,可以显示由返回的字符串yourprocess.StandarOutput.ReadToEnd()

下面是ANSI / VT100控制码 ,如果你想编写自己的格式,你将需要。



文章来源: Capture coloured console output into WPF application