设置颜色通过Windows函数BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes)实现。
#include<stdio.h> #include<windows.h> intmain(void) { HANDLEconsolehwnd;//创建句柄,详细句柄知识,请百度一下或查MSDN consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄 SetConsoleTextAttribute(consolehwnd,FOREGROUND_RED);//设置字体颜色 printf("hello"); SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_GREEN); printf("world!\n"); getchar(); SetConsoleTextAttribute(consolehwnd,BACKGROUND_INTENSITY|BACKGROUND_BLUE); printf("Itisreallybeautiful!\n"); return0; }
能设置些什么颜色呢?在wincom.h里有定义:
#define FOREGROUND_BLUE 1 #define FOREGROUND_GREEN 2 #define FOREGROUND_RED 4 #define FOREGROUND_INTENSITY 8 #define BACKGROUND_BLUE 16 #define BACKGROUND_GREEN 32 #define BACKGROUND_RED 64 #define BACKGROUND_INTENSITY 128
我们来测试一下:
/* * main.c * * Created on: 2014-6-16 * Author: HZY */ #include <stdio.h> #include <windows.h> void setConsoleColor(WORD color){ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, color); } int main(int argc, char** argv) { int i; for(i = 0; i < 16; i++){ setConsoleColor(i); printf("Hello World!"); setConsoleColor(i << 4); printf("Hello World!\n"); } getchar(); return 0; }
前景色和背景色都可以自由组合:
相关推荐
内容索引:VC/C++源码,界面编程,字体颜色,窗体标题 vc++ 改变任意窗体的字体大小及颜色,将常规的字体大小自定义为你想要的大小,并且可以改变字体的颜色。
6.2.2 编写控制台程序和图形用户界面应用程序 158 6.2.3 获取和设置环境变量 158 6.3 线程、纤程 162 6.3.1 创建线程、退出线程、获取线程信息 162 6.3.2 挂起、恢复、切换、终止线程 164 6.3.3 创建远程...
6.2.2 编写控制台程序和图形用户界面应用程序 158 6.2.3 获取和设置环境变量 158 6.3 线程、纤程 162 6.3.1 创建线程、退出线程、获取线程信息 162 6.3.2 挂起、恢复、切换、终止线程 164 6.3.3 创建远程...
使用TMemoryStream保存数据 使用未注册字体 使用注册表读写字符串 使系统菜单关闭按钮失效 ...运行控制台应用程序获取它的输出 通过串口读写字符串 锁定工作站 闪烁窗口 隐藏任务列表中的程序 隐藏开始按钮和开始菜单
修改控制台操作支持库中“控制台对象.取显示区大小”的参数名称及其说明。 6. 修改外部数据库在4.12版中导致的不兼容问题,并增加了对MS SQL Server数据库中image和text字段类型的说明。 7. 修改扩展界面支持库一...