C# 奇怪的SetConsoleScreenBufferInfoEx行为

C# 奇怪的SetConsoleScreenBufferInfoEx行为,c#,.net,winapi,pinvoke,dllimport,C#,.net,Winapi,Pinvoke,Dllimport,如果我创建一个C控制台应用程序,使用console.*-Methods将控制台缓冲区/窗口宽度和高度设置为80x25或任何其他特定大小,则控制台窗口没有滚动条 当我使用GetConsoleScreenBufferInfoEx读取consolebuffer设置时,它会报告79x24的window.Right和window.Bottom。如果我将读取控制台\屏幕\缓冲区\信息\写回,窗口将显示滚动条 问:是否有任何C/.NET framework方法干扰或这是标准行为 我在互联网上看到了C的示例代码

如果我创建一个C控制台应用程序,使用console.*-Methods将控制台缓冲区/窗口宽度和高度设置为80x25或任何其他特定大小,则控制台窗口没有滚动条

当我使用GetConsoleScreenBufferInfoEx读取consolebuffer设置时,它会报告79x24的window.Right和window.Bottom。如果我将读取控制台\屏幕\缓冲区\信息\写回,窗口将显示滚动条

问:是否有任何C/.NET framework方法干扰或这是标准行为


我在互联网上看到了C的示例代码,它总是在做window.Right++和window.Bottom++。

对于第一个问题,我认为你得到的是滚动条,因为你的窗口实际上越来越小了。这是一只虫子

请参阅和注意,以供参考 一定要定好尺寸

尝试在调用GetConsoleScreenBufferInfoEx后添加几行:

GetConsoleScreenBufferInfoEx(handle, ref currentScreen);
++currentScreen.srWindowBottom;
++currentScreen.srWindowRight;

请一次问一个问题,你可以回答其中一个问题吗?如果你只问一个的话。