gpt4 book ai didi

redirectstandardoutput - 为什么 RedirectStandardOutput 没有必要的 ANSI 代码?

转载 作者:行者123 更新时间:2023-12-03 17:21:14 25 4
gpt4 key购买 nike

好的,这是我用来测试 RedirectStandardOutput 的一个简单的控制台应用程序的Process.StartInfo .

    foreach (c In [Enum].GetValues(GetType(ConsoleColor))
{
Console.ForegroundColor = c
Console.WriteLine("Test")
}

以下是申请结果。

Result of the Console Application.

所以我们可以看到颜色在控制台上显示得很漂亮。

但是,当我阅读 StandardOutput.BaseStream 时没有颜色信息,没有 ANSI 代码,什么都没有。

如何捕获重定向流上的颜色信息?

最佳答案

简短的回答是 .NET 提供给您的流 Console类完全基于字符并且只返回文本数据。

要获得扩展的颜色信息,需要 P/Invoke Win32 API ReadConsoleOutput .除其他外,这将返回一个数组 COLOR_INFO包含每个字符的颜色属性的结构。您可能想查看 ReadConsoleOutput pinvoke.net page开始。

关于redirectstandardoutput - 为什么 RedirectStandardOutput 没有必要的 ANSI 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1963954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com