C/C++ code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
#include
<
iostream
>
#include
<
windows.h
>
bool
SetConsoleColor(WORD forceGroundColor, WORD backGroundColor);
bool
SetConsoleColor(WORD Color);
int
main() { SetConsoleColor(FOREGROUND_INTENSITY
|
FOREGROUND_RED , BACKGROUND_RED
|
BACKGROUND_GREEN
|
0x80
); std::cout
<<
"
明天就是2012了。你们还有心情搞技术嘛?
"
<<
std::endl; SetConsoleColor(
9
);
//
高亮蓝 1+8 默认黑背景
std::cout
<<
"
明天就是2012了。你们还有心情搞技术嘛?
"
<<
std::endl; SetConsoleColor(
0x89
);
//
高亮蓝 1+8 背景灰色
std::cout
<<
"
明天就是2012了。你们还有心情搞技术嘛?
"
<<
std::endl; SetConsoleColor(
7
);
//
高亮蓝 1+8 背景灰色
std::cout
<<
"
明天就是2012了。你们还有心情搞技术嘛?
"
<<
std::endl;
//
直接调用 高亮红 默认黑背景
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY
|
FOREGROUND_RED); system(
"
pause
"
); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
0xA
);
//
亮绿
return
0
; }
/*
参数1和参数2分别是前景的颜色和背景的颜色。 * #define FOREGROUND_BLUE 0x1 * #define FOREGROUND_GREEN 0x2 * #define FOREGROUND_RED 0x4 * #define FOREGROUND_INTENSITY 0x8 //前景高亮 * #define BACKGROUND_BLUE 0x10 * #define BACKGROUND_GREEN 0x20 * #define BACKGROUND_RED 0x40 * #define BACKGROUND_INTENSITY 0x80 //背景高亮
*/
/*
颜色参数直接使用 White_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); Red_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED); Green_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN); Yellow_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN); Blue_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_BLUE); Magenta_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE); Cyan_Black: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE); Black_Gray: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | BACKGROUND_INTENSITY); Black_White: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE); Red_White: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_RED);
*/
bool
SetConsoleColor(WORD forceGroundColor, WORD backGroundColor) {
//
获得缓冲区句柄。参数可以选择一下三种值:
///
/ STD_INPUT_HANDLE 标准输入的句柄
///
/ STD_OUTPUT_HANDLE 标准输出的句柄
///
/ STD_ERROR_HANDLE 标准错误的句柄
HANDLE handle
=
GetStdHandle(STD_OUTPUT_HANDLE);
if
(handle
==
0
)
return
false
;
//
设置文本及背景颜色。
BOOL ret
=
SetConsoleTextAttribute(handle, forceGroundColor
|
backGroundColor);
return
(ret
==
TRUE); }
bool
SetConsoleColor(WORD Color) { HANDLE handle
=
GetStdHandle(STD_OUTPUT_HANDLE);
if
(handle
==
0
)
return
false
; BOOL ret
=
SetConsoleTextAttribute(handle, Color);
return
(ret
==
TRUE); }