我想从我的控制台中删除滚动条(就像在 edit
-command 中一样),因为我想制作一个类似 qbasic 的程序。我知道这里是 a thread但它不适用于 windows 7 32bit。上面写着你只需要使控制台屏幕缓冲区与控制台窗口的大小相同。
这不起作用:
HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hstdout, &csbi);
csbi.dwSize.X = csbi.srWindow.Right;
csbi.dwSize.Y = csbi.srWindow.Bottom;
SetConsoleScreenBufferSize(hstdout, csbi.dwSize);
即使我将 csbi.dwSize.X
和 Y
设置为 10 或更小,滚动条仍然存在。
最佳答案
问题是 srWindow
中包含的大小信息是针对屏幕缓冲区而不是实际窗口的。您想使用 dwMaximumWindowSize
指定窗口的列和行大小。
csbi.dwSize.X = csbi.dwMaximumWindowSize.X;
csbi.dwSize.Y = csbi.dwMaximumWindowSize.Y;
关于c++ - 没有滚动条的cpp win7控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12803532/