如果我创建一个C#控制台应用程序,它将控制台缓冲区/窗口宽度和高度(使用Console。* - 方法)设置为80x25(或任何其他特定大小),则控制台窗口没有滚动条。
当我使用GetConsoleScreenBufferInfoEx来读取consolebuffer-settings时,它会报告一个window.Right和window.Bottom为79x24。如果我写回读CONSOLE_SCREEN_BUFFER_INFO_EX,窗口将获得滚动条。
问题:是否有任何C#/ .NET框架方法干扰或是否为此标准行为?
我在互联网上看过C的examplecode,它总是在做窗口。右边的++和window.Bottom ++。
对于第一个问题,我认为你得到滚动条,因为你的窗口实际上变小了。这是一个错误。
请参阅35901572并注意,以供参考,examples on PInvoke始终固定大小。
调用GetConsoleScreenBufferInfoEx后尝试添加几行:
GetConsoleScreenBufferInfoEx(handle, ref currentScreen);
++currentScreen.srWindowBottom;
++currentScreen.srWindowRight;