纯C语言实现设置窗口大小
如果想要修改屏幕缓冲区可以:
COORD size = {w, h};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
如果只需要修改窗口大小可以:
SMALL_RECT rc = {1,1, w, h};
SetConsoleWindowInfo(hOut ,true ,&rc);
注意:窗口大小不能超过缓冲区大小,不然修改会失败!
函数modeset(int w,int h)
:
void modeset(int w,int h) {
// 此函数设置窗口大小为 w*h
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD size = {w, h};
SetConsoleScreenBufferSize(hOut,size);
SMALL_RECT rc = {1,1, w, h};
SetConsoleWindowInfo(hOut ,true ,&rc);
return;
}
完整代码为:
#include <Windows.h>
void modeset(int w,int h) {
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD size = {w, h};
SetConsoleScreenBufferSize(hOut,size);
SMALL_RECT rc = {1,1, w, h};
SetConsoleWindowInfo(hOut ,true ,&rc);
system("cls");
return;
}
int main(){
modeset(100,50);
return 0;
}