_open_osfhandle打开控制台后,拖动控制台滚动条,就会造成整个程序停止运行。
如何解决?
#include <iostream>
#include <Windows.h> //VS 自带的头文件
using namespace std;
//取消滑框
void FullScreen() {
HANDLE Hand;
CONSOLE_SCREEN_BUFFER_INFO Info;
Hand = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(Hand, &Info);
SMALL_RECT rect = Info.srWindow;
COORD size = { rect.Right + 1 ,rect.Bottom + 1 }; //定义缓冲区大小,保持缓冲区大小和屏幕大小一致即可取消边框
SetConsoleScreenBufferSize(Hand, size);
}
int main() {
while (1) {
FullScreen();
Sleep(1000);
}
return 0;
}
```
如果是win11,可以把终端应用程序改成windows终端,这样拖动滚动条也无法暂停。
win10禁止滚动条: