C++ 不带滚动条的cpp win7控制台

C++ 不带滚动条的cpp win7控制台,c++,console,scrollbar,qbasic,C++,Console,Scrollbar,Qbasic,我想从控制台中删除滚动条(如edit-命令),因为我想制作一个类似qbasic的程序。我知道这里是,但它不适合我在Windows7 32位。有书面规定,您只需将控制台屏幕缓冲区设置为与控制台窗口相同的大小。 这不起作用: HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(hstdout, &csbi); csbi.dw

我想从控制台中删除滚动条(如
edit
-命令),因为我想制作一个类似qbasic的程序。我知道这里是,但它不适合我在Windows7 32位。有书面规定,您只需将控制台屏幕缓冲区设置为与控制台窗口相同的大小。
这不起作用:

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
中包含的大小信息是针对屏幕缓冲区的,而不是实际的窗口。您想使用
dwMaximumWindowsSize
,它以列和行的形式指定窗口的大小

csbi.dwSize.X = csbi.dwMaximumWindowSize.X;
csbi.dwSize.Y = csbi.dwMaximumWindowSize.Y;