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

问题描述 投票:1回答:1

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

c++ winapi console windows-console
1个回答
3
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.