Windows 控制台程序正常运行时,如果鼠标点击后,有时候会出现程序阻塞或程序卡死的情况。
这是因为console的快速编辑模式被打开,鼠标点击后进入选择状态。
解决办法1:修改console属性,取消勾选"快速编辑模式",系统重启后可能失效
解决办法2:修改windows系统 cmd 快速编辑模式
执行setNoEdit.bat
@echo off
reg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00000000 /f
解决办法3: 程序中修改(未验证)
// C#
// http://msdn.microsoft.com/en-us/library/ms686033(VS.85).aspx
[DllImport("kernel32.dll")]
public static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode);
private const uint ENABLE_EXTENDED_FLAGS = 0x0080;
static void Main(string[] args)
{
IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
SetConsoleMode(handle, ENABLE_EXTENDED_FLAGS);
///...
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(hStdin, &mode);
mode &= ~ENABLE_QUICK_EDIT_MODE; //移除快速编辑模式
mode &= ~ENABLE_INSERT_MODE; //移除插入模式
mode &= ~ENABLE_MOUSE_INPUT;
SetConsoleMode(hStdin, mode);
Ref:
https://www.jianshu.com/p/e0ca464bb941
https://blog.csdn.net/o_longzhong/article/details/80276645