[C++] 程序运行时设置 Windows 终端窗口参数

时间:2025-02-11 20:07:44
#include "" int main() { SetConsoleOutputCP(65001); // 使用 UTF-8 字符集 DWORD mode; CONSOLE_FONT_INFOEX info = { 0 }; info.cbSize = sizeof(info); info.dwFontSize.Y = 16; // leave X as zero info.FontWeight = FW_NORMAL; wcscpy_s(info.FaceName, L"Consolas"); // 终端文字字体 HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE); // 输入的 handle HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); // 输出的 handle SMALL_RECT rc{0, 0, 150, 150}; SetConsoleScreenBufferSize(hStdout, COORD{ 120, 80 }); // 终端窗口最大宽度 SetConsoleWindowInfo(hStdout, true, &rc); // 设置终端窗口位置, 大小 SetCurrentConsoleFontEx(hStdout, false, &info); // 设置终端窗口字体 GetConsoleMode(hStdin, &mode); mode &= ~ENABLE_QUICK_EDIT_MODE; // 移除快速编辑模式 mode &= ~ENABLE_INSERT_MODE; // 移除插入模式 mode &= ~ENABLE_MOUSE_INPUT; SetConsoleMode(hStdin, mode); return 0; }