如何在Windows控制台中禁用用户选择

时间:2017-10-04 14:18:53

标签: c++ winapi console windows-console

我需要在Windows控制台中禁用用户鼠标选择。有可能吗?怎么样?我尝试使用函数SetConsoleMode()来禁用它的鼠标输入,但它没有像我预期的那样工作。仍然可以选择。

1 个答案:

答案 0 :(得分:3)

控制台的快速编辑模式允许用户使用鼠标快速选择和复制文本,而无需先进入标记模式(即 Ctrl + M ,或编辑 - >标记在菜单)。启用快速编辑模式通常很方便,但它确实会干扰鼠标输入。您可以使用控制台输入缓冲区的句柄禁用它,如下所示:

DWORD prev_mode;
GetConsoleMode(hInput, &prev_mode); 
SetConsoleMode(hInput, ENABLE_EXTENDED_FLAGS | 
    (prev_mode & ~ENABLE_QUICK_EDIT_MODE));

请记住在退出时恢复以前的模式。