如何用WriteConsoleOutput改变控制台背景颜色?
一 :先看效果:
二 代码:
#include <stdio.h>
#include <windows.h>
void main()
{
HANDLE hConsoleOutput =GetStdHandle(STD_OUTPUT_HANDLE);//获取控制台输入句柄
CHAR_INFO CharInfo;
int i = 0 ,j = 0;
CHAR_INFO charInfoAarray[80*25];
CharInfo.Attributes = BACKGROUND_RED;//背景色为红色
CharInfo.Char.AsciiChar = ' ';//空格字符
for (i = 0; i < 25; i++)
{
for (j = 0; j < 80; j++)
{
charInfoAarray[80 * i + j] = CharInfo;
}
}
COORD dwBufferSize = {80,25};//固定值(控制台窗口固定的属性值)
COORD dwBufferCoord = { 0, 0 };//缓冲区左上角的起始位置
SMALL_RECT rect = { 0, 0, 79, 24 };//显示多大的缓冲区: 大小是一个矩形
WriteConsoleOutput(hConsoleOutput, charInfoAarray, dwBufferSize, dwBufferCoord, &rect);
getchar();
}