当前位置:C++技术网 > 资讯 > 利用SetConsoleTextAttribute函数设置控制台输出文字的颜色

利用SetConsoleTextAttribute函数设置控制台输出文字的颜色

更新时间:2016-03-02 11:46:12浏览次数:1+次

在调用这个函数之前,首先调用GetStdHandle。GetStdHandle是一个Windows API函数。它用于从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄(用来标识不同设备的数值)。
HANDLE GetStdHandle( DWORD nStdHandle );
GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。
BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);
第一个参数就是利用GetStdHandle的返回值来得到。
wAttributes是用来设置颜色的参数:
FOREGROUND_BLUE        字体颜色:蓝
FOREGROUND_GREEN 字体颜色:绿
FOREGROUND_RED        字体颜色:红
FOREGROUND_INTENSITY 前景色高亮显示
BACKGROUND_BLUE        背景颜色:蓝
BACKGROUND_GREEN 背景颜色:绿
BACKGROUND_RED        背景颜色:红
BACKGROUND_INTENSITY 背景色高亮显示

具体的请查看SetConsoleTextAttribute

#include<stdio.h>
#include<windows.h>
int main(void)
{
HANDLE consolehwnd;//创建句柄,详细句柄知识,请百度一下或查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");
return 0;
}
输出如图: