一、头文件
#include<windows.h>
二、代码实现
1.获取原标题
char* GetConsolesTitle(){
static char buf[1001];
GetConsoleTitleA(buf,0xFF);
return buf;
}
2.设置新标题
void SetConsolesTitle(char text[]){
SetConsoleTitleA(text);
}
3.修改大小
void SetConsoleSize(int cols/*列数*/,int lines/*行数*/){
char cmd[64];
sprintf(cmd, "mode con cols=%d lines=%d",cols,lines);
system(cmd);
}
4.隐藏光标
void HideConsoleCursor(){
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
5.改变光标位置
void SetCursorPlace(int x/*x坐标,第一行编号为0*/,int y/*y坐标,第一列编号为0*/){
COORD pos = {(SHORT)x,(SHORT)y};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
}
6.禁止更改窗口大小/最大化/最小化
void NoChangeConsoleSize(){
SetWindowLongPtrA(GetConsoleWindow(), GWL_STYLE, GetWindowLongPtrA(GetConsoleWindow(),GWL_STYLE)& ~WS_SIZEBOX & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);
}
7.改变字体颜色
void SetConsoleColor(int BackC/*背景色*/,int ForgC/*前景色*/) {
WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
/*
0 黑色 15 白色
12 红色 6 黄色
10 绿色 11 青色
9 蓝色 13 紫色
*/
}
8.分配一个控制台
void AllocNewConsole(){
FreeConsole();
AllocConsole();
}