c++ - 如何获取当前控制台背景和文本颜色?

标签 c++ windows colors console

我知道如何设置它们 (SetConsoleTextAttribute),但没有 GetConsoleTextAttribute 来检索此信息。在未受影响的控制台上,它应该是 int 7。

问题是,当退出设置文本颜色的程序时,它在给定窗口运行的时间内保持不变,我不能假设用户没有根据自己的喜好设置颜色。

最佳答案

wincon.h 的快速 grep 表明 CONSOLE_SCREEN_BUFFER_INFO 有一个 wAttributes 成员,它是 documented as “通过 WriteFile 和 WriteConsole 函数写入屏幕缓冲区的字符的属性,或者通过 ReadFile 和 ReadConsole 函数回显到屏幕缓冲区的字符的属性。”这匹配 the description of SetConsoleTextAttribute :“设置由 WriteFile 或 WriteConsole 函数写入控制台屏幕缓冲区的字符的属性,或由 ReadFile 或 ReadConsole 函数回显的字符的属性。”该结构由 GetConsoleScreenBufferInfo 返回。

关于c++ - 如何获取当前控制台背景和文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8578909/

相关文章:

python - 如何从RGB值转换为色温?

javascript - HTML 闪烁文字颜色

c++ - 类问题中的 CUDA 内存管理/指针

c++ - g++ 不允许在 lambda 中通过引用广义捕获 const 对象?

c++ - 关闭c++之前关闭应用程序

windows - 使用批处理文件附加到系统 PATH 变量值

android - 无法阻止 Eclipse 提示我已经修复的错误

java - 用 Java 封装 GMP

c - ARM64如何获取CPU品牌信息?

Android:点击更改字体颜色