C++ SetConsoleInfo窗口大小调整不需要';t工作c++;
我正在尝试制作一个自动windows CMD函数 这是我的代码:C++ SetConsoleInfo窗口大小调整不需要';t工作c++;,c++,winapi,console,C++,Winapi,Console,我正在尝试制作一个自动windows CMD函数 这是我的代码: short x = GetSystemMetrics(SM_CXSCREEN); short y = GetSystemMetrics(SM_CYSCREEN); HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SMALL_RECT rect = {0,0, x, y}; SetConsoleWindowInfo(hConsole, TRUE, &rect); 由于某
short x = GetSystemMetrics(SM_CXSCREEN);
short y = GetSystemMetrics(SM_CYSCREEN);
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SMALL_RECT rect = {0,0, x, y};
SetConsoleWindowInfo(hConsole, TRUE, &rect);
由于某些原因,窗口大小调整不起作用。我检查了GetSystemMetrics,它工作正常。请帮助。您必须同时设置缓冲区大小和窗口大小。你只是在做后者。您还需要调用
SetConsoleScreenBufferSize
。这个答案向您展示了如何做到这一点:您必须在roder中使用system(“MODE 650”)使控制台屏幕全屏。您确实知道,从GetSystemMetrics
获得的大小是以像素为单位的,而传递给SetConsoleWindowInfo
的大小是以字符(即行和列)为单位的。哦,很抱歉,如何将像素转换为行和字符,我不知道一个字符或一行有多少像素宽。你能告诉我怎么做吗?GetConsoleFontSize
将给出字体大小,然后将像素分辨率除以它。对我来说,GetConsoleFont返回的值太高,它将不起作用:/嗯,这是行不通的。你为什么不让用户自己决定,他会知道如何最大化窗口。这种你所有的桌面都属于我的编程是相当有敌意的。