如何测试控制台是否支持ANSI颜色代码?

9

我使用基于fmt的记录器,可以选择颜色打印 - 这依赖于ANSI颜色命令。

不幸的是,在Windows 10上,默认情况下禁用了它。我知道如何启用它,但我仍然想找出如何测试控制台是否支持ANSI命令。有人知道吗?

1个回答

6
在Windows上,您可以通过检查/设置ENABLE_VIRTUAL_TERMINAL_PROCESSING标志来获取/设置ANSI颜色支持,使用SetConsoleMode()GetConsoleMode()方法。
此外,对于全局虚拟终端设置,还有HKEY_CURRENT_USER\Console\VirtualTerminalLevel注册表键。另请参见https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
在*nix上,您可以使用以下方法:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接