1、api原型 SetConsoleTextAttribute

BOOL WINAPI SetConsoleTextAttribute(_In_  HANDLE hConsoleOutput,  // 控制台输出流句柄_In_  WORD wAttributes        // 设置属性
);

hConsoleOutput [输入参数]

控制台屏幕的输出流的句柄(handle to console screen buffer)。

这个文件流的句柄必须有写入(GENERIC_READ)的权限。更多的信息,请查看MSDN上的Console Buffer Security and Access Rights。

wAttributes [输入参数]

具体常见设置属性如下:

属性 意义
FOREGROUND_BLUE 前景色包含 蓝色
FOREGROUND_GREEN 前景色包含 绿色
FOREGROUND_RED 前景色包含 红色
FOREGROUND_INTENSITY 前景色加强
BACKGROUND_BLUE 背景色包含 蓝色
BACKGROUND_GREEN 背景色包含 绿色
BACKGROUND_RED 背景色包含 红色
BACKGROUND_INTENSITY 背景色加强
COMMON_LVB_GRID_HORIZONTAL 顶部水平网格
COMMON_LVB_GRID_LVERTICAL 左竖直网格
COMMON_LVB_GRID_RVERTICAL 右竖直网格
COMMON_LVB_UNDERSCORE 下划线

2、代码测试

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>int main()
{  HANDLE hOut;  //  获取输出流的句柄hOut = GetStdHandle(STD_OUTPUT_HANDLE);    printf("普通颜色看看\n");SetConsoleTextAttribute(hOut,  FOREGROUND_GREEN |      // 前景色_绿色FOREGROUND_INTENSITY ); // 前景色_加强printf("设置了浅绿色.\n");  printf("并且完了之后就一直是浅绿色\n");SetConsoleTextAttribute(hOut,  FOREGROUND_BLUE |       // 前景色_蓝色FOREGROUND_INTENSITY |  // 前景色_加强COMMON_LVB_UNDERSCORE); // 添加下划线printf("文字蓝色,再加个下划线.\n");    SetConsoleTextAttribute(hOut,  FOREGROUND_RED |        // 前景色_红色FOREGROUND_INTENSITY |  // 前景色_加强BACKGROUND_BLUE );      // 背景色_蓝色printf("设置文字红色,背景蓝色\n");  SetConsoleTextAttribute(hOut,  FOREGROUND_RED |            // 前景色_红色FOREGROUND_INTENSITY |      // 前景色_加强COMMON_LVB_GRID_LVERTICAL );// 网格_左_竖printf("                      加 左 网格\n");  SetConsoleTextAttribute(hOut,  FOREGROUND_RED |            // 前景色_红色FOREGROUND_INTENSITY |      // 前景色_加强COMMON_LVB_GRID_RVERTICAL );// 网格_右_竖  printf("                      加 右 网格\n");    SetConsoleTextAttribute(hOut,  FOREGROUND_RED |    // 前景色_红色FOREGROUND_GREEN |  // 前景色_绿色FOREGROUND_BLUE );  // 前景色_蓝色printf("改回白色\n");  system("pause");return 0;
}

例如紫色可以用 蓝色+红色 配出来:

#include <windows.h>
#include <stdio.h>    // for printf
#include <stdlib.h>   // for systemint main()
{  HANDLE hOut;  //  获取输出流的句柄hOut = GetStdHandle(STD_OUTPUT_HANDLE);    SetConsoleTextAttribute(hOut,  FOREGROUND_RED |  // 前景色_红色FOREGROUND_BLUE | // 前景色_蓝色FOREGROUND_INTENSITY);// 加强printf(" 红 + 蓝 = 紫色 ^_^\n");  system("pause");return 0;
}  

View Code

转载自:Lellansin's 冰森

转载于:https://www.cnblogs.com/lovelp/p/setconsoletextattribute.html

使用API修改控制台输出的颜色(前景色和背景色)相关推荐

  1. IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件

    IntelliJ IDEA 自定义控制台输出多颜色格式功能 1. 打开IDEA设置面板 2. 点击插件(Plugins)安装Grep Console 3. 重启IDEA后设置颜色 4. 效果图 5. ...

  2. 探索篇 | C语言改变控制台输出内容颜色

    控制台是什么 让代码『跑』起来 当代码执行的时候,会生成一个控制台命令框,把我们想要的内容打印显示.这个窗口我们称之为计算机控制台 命名行界面 cmd 命令提示符 控制台 改变控制台前景色.背景色 只 ...

  3. 通过控制台输出各种颜色的字符——ANSIConsole、JANSI

    默认的jdk控制台只能跟随系统而定,在eclipse中可以定义各种来源的输出颜色,但是如果你想按照的app输出内容到控制台,只能按照前两者来定,而且默认只有黑和err的红,有时候开发中输出的日志信息较 ...

  4. python中控制台输出的颜色方法

    #格式: 设置颜色开始 :\033[显示方式;前景色;背景色m #说明: 前景色 背景色 颜色 --------------------------------------- 40 黑色 41 红色 ...

  5. Tomcat 修改控制台输出日志级别

    叙述 一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志 ...

  6. Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色

    文章目录 Pycharm的相关配置:改字体样式和大小.更改图片背景.更改控制台输出的字体颜色 一.pycharm更改字体样式和大小 二.pycharm更改图片背景 三.pycharm更改控制台输出的字 ...

  7. java控制台输出颜色设置

    在java中,控制台输出,System.out.println()显示默认黑色,如果是System.err.println()显示红色. 要想让控制台输出改变颜色,需要做一些设置.就像在linux终端 ...

  8. C/C++改变控制台的字体颜色

    当你接触编程的时候,是不是总是有这种感受:白字黑色的控制台总是很枯燥,正如你用大脑运行这段代码 #include <stdio.h> #include <conio.h> in ...

  9. 【c++】设置控制台窗口字体颜色和背景色(system和SetConsoleTextAttribute函数 )

    编译后弹出的黑框框(exe 可执行文件)总是黑底白字,在做实践大作业时想到尝试改变字体的颜色与背景色,搜索发现有system和SetConsoleTextAttribute两个函数,各有长处,详细了解 ...

最新文章

  1. 086_html5Input类型
  2. msm8909相关事宜
  3. java selenium (十) 操作浏览器
  4. 软件工程--软件设计
  5. u2020 华为_华为5G网管U2020常用MML命令(很实用)
  6. Centos7 +Django的安装
  7. CS224N刷题——Assignment2.1_TensorflowSoftmax
  8. easy2game使用教程_Easy2game什么用
  9. 谭浩强C语言程序设计第五版第七章例题
  10. ONVIF协议开发使用
  11. excel游戏_Excel 20190912的娱乐和游戏
  12. android判断图片是否模糊,Android 图片模糊 性能总结
  13. eNSP交换机配置IP
  14. 湖南科技大学EDA作业
  15. 中标麒麟linux配置网卡,中标麒麟Linux v7系统下设置双网卡bond或team绑定详细过程...
  16. QN-H618 遥控器复制再生仪(拷贝机)
  17. openssl建立证书和私钥方法
  18. 英语单词常见词根总结
  19. 【Qt】动态刷新lcdNumber显示的值
  20. 共享出行化解城市交通难题(下)

热门文章

  1. 如何选择一个男孩儿的英文名字?
  2. 数据仓库工具之hive(1)
  3. 【opencv4.3.0教程】07之像素基本操作 1 获取像素指针及控制像素范围
  4. 解决opencv中cv2.VideoCapture()函数打开USB视频慢的问题
  5. 学校里学不到的调试技巧(初学者也可以看懂)
  6. SVN提交出错:Attempted to lock an already-locked dir
  7. 在废石坑建造!耗时12年花费20亿!奢华AI酒店内部大揭秘
  8. html文件怎么转换成mp3,HTML 音频
  9. php拼图游戏开发,原生javascript制作的拼图游戏实现方法详解
  10. win11操作系统·系统自带计算器找不到了怎么恢复,需要使用新应用以打开此ms-calculator 链接-问题解决