请问在Linux中如何通过命令或者C/C++代码获取终端(Terminal,也称控制台Console)当前的背景色(background color)与前景色(foreground color)?
这是一个很有挑战性的问题。连微软的开发人员在 corefx 的实现中也没找到有效的方法,在 ConsolePal.Unix.cs 的实现代码中有这样的注释:
public static ConsoleColor ForegroundColor { get { throw new PlatformNotSupportedException(SR.PlatformNotSupported_GettingColor); } // no general mechanism for getting the current color set { ChangeColor(foreground: true, color: value); } } public static ConsoleColor BackgroundColor { get { throw new PlatformNotSupportedException(SR.PlatformNotSupported_GettingColor); } // no general mechanism for getting the current color set { ChangeColor(foreground: false, color: value); } }
【相关资料】