【发布时间】:2019-04-03 14:20:38
【问题描述】:
我试图通过我的 c++ 程序禁用控制台的快速编辑模式,因为在我的应用程序中我不想要任何选择。我也不想要任何暂停,因为当有人点击此模式时,它会暂停游戏。我查看了在线和一些文档,但我不知道我做错了什么。 我首先尝试了另一个关于堆栈溢出问题的代码,但它不起作用。
#include<conio.h>
#include<iostream>
#include<windows.h>
using namespace std;
int main(){
HANDLE hInput;
DWORD prev_mode;
GetConsoleMode(hInput, &prev_mode);
SetConsoleMode(hInput, prev_mode & ~ENABLE_QUICK_EDIT_MODE);
cout<<"The quick edit mode stopped now press any key to re enable it"<<endl;
_getch();
SetConsoleMode(hInput, prev_mode);
cout<<"Quick edit mode reenabled click any key to exit";
_getch();
return 0;
}
然后我查找了this documentation,他们发现SetConsoleMode 是这样的。
此标志允许用户使用鼠标选择和编辑文本。
要启用此模式,请使用 ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS。要禁用此模式,请使用 ENABLE_EXTENDED_FLAGS 没有这个标志。
然后我用ENABLE_EXTENDED_FLAGS 替换了~ENABLE_QUICK_EDIT_MODE 和同样的结果我想知道我做错了什么。
我想禁用快速编辑模式。
【问题讨论】: