C# 在C中重定向标准输出和标准输出时保留颜色#

C# 在C中重定向标准输出和标准输出时保留颜色#,c#,winforms,C#,Winforms,我正在WinForms应用程序中包装一个命令行进程,并重定向输出,以便它可以通过管道传输到RTF控件或列表框中。如果能够在文本通过时保留其前景色,这样就可以在表单中正确显示它,那将是一件好事。有办法做到这一点吗?很可能没有。彩色控制台输出使用API调用完成,该调用在控制台屏幕缓冲区上操作 如果重定向控制台应用程序的输出,则没有控制台屏幕缓冲区可供使用。如果重定向输出,SetConsoleTextAttribute将返回零(表示失败),这意味着应用程序甚至无法设置颜色。是否有其他方法可以重定向输出

我正在WinForms应用程序中包装一个命令行进程,并重定向输出,以便它可以通过管道传输到RTF控件或列表框中。如果能够在文本通过时保留其前景色,这样就可以在表单中正确显示它,那将是一件好事。有办法做到这一点吗?

很可能没有。彩色控制台输出使用API调用完成,该调用在控制台屏幕缓冲区上操作


如果重定向控制台应用程序的输出,则没有控制台屏幕缓冲区可供使用。如果重定向输出,SetConsoleTextAttribute将返回零(表示失败),这意味着应用程序甚至无法设置颜色。

是否有其他方法可以重定向输出?那么隐藏控制台窗口并删除输出呢?您可能会在Console2()的源代码中找到一个解决方案,这是一个“Windows控制台窗口增强”,它可以通过颜色、选项卡等实现控制台窗口。我将对此进行检查。谢谢