Windows命令行下實現帶顏色輸出

改變下一個輸出或者輸入字體和背景的顏色 採用SetConsoleTextAttribute函數,如
White on Black:      
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);  

Red on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED);  

Green on Black:  
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN);  

Yellow on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED | FOREGROUND_GREEN);  

Blue on Black:      
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_BLUE);  

Magenta on Black:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_RED | FOREGROUND_BLUE);  

Cyan on Black:    
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN | FOREGROUND_BLUE);  

Black on Gray:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |BACKGROUND_INTENSITY);  

Black on White:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);

Red on White:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |FOREGROUND_RED);

等等。


需要引入頭文件: windows.h
函數原型:
BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);  

wAttributes 的取值含義對應如下:


Attribute                           Meaning  
foreground_blue   Text color contains blue.
foreground_green   Text color contains green.
foreground_red       Text color contains red.
foreground_intensity   Text color is intensified.
background_blue        Background color contains blue.
background_green      Background color contains green.
background_red            Background color contains red.
background_intensity       Background color is intensified.
common_lvb_leading_byte   Leading byte.
common_lvb_trailing_byte   Trailing byte.
common_lvb_grid_horizontal    Top horizontal.
common_lvb_grid_lvertical   Left vertical.
common_lvb_grid_rvertical  Right vertical.
common_lvb_reverse_video    Reverse foreground and background attributes.
common_lvb_underscore      Underscore.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章