Win XP控制台应用程序:用于更改宽度,更改高度的API

时间:2011-02-28 17:30:27

标签: winapi console-application

Win32控制台应用程序(printf,fgets等)
打开着名的25x80“黑匣子”。

我希望我的应用程序以编程方式设置
不同的宽度和高度,不是25x80。

我可以使用哪些API调整控制台窗口的大小?

由于

2 个答案:

答案 0 :(得分:3)

将控制台大小设置为210 * 50,将缓冲区设置为210 * 2000

COORD s = { 210, 2000 };
SMALL_RECT sr = { 0, 0, 209, 49 };
CONSOLE_SCREEN_BUFFER_INFO sbi = { 0 };
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &sbi);
SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), s);
if ( (sbi.srWindow.Right - sbi.srWindow.Left) != (sr.Right - sr.Left) ) {
    SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE), TRUE, &sr);
}

答案 1 :(得分:-1)

为了记录,我使用奇怪的线

实现了我所需要的
system("mode 42,90");

太奇怪了,但很简单,而且很有效。