如何解决 「win10系统下」win32控制台程序 「无法监听鼠标事件」这个问题?

int main()
{

HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE);
INPUT_RECORD Buf;
DWORD Result;
do
{
    ReadConsoleInput(hIn, &Buf, 1, &Result);

    if (Buf.EventType == MOUSE_EVENT)
        cout << "Mouse !\n";

    if (Buf.EventType == KEY_EVENT)
        cout << "Key !\n";

} while (!(Buf.EventType == MOUSE_EVENT&&
    Buf.Event.MouseEvent.dwEventFlags == DOUBLE_CLICK));

cout << "我是main哈哈哈\n";

return 0;

}

上面是测试代码,有win7系统的兄弟测试下能不能监听到
如果不能解决,
win10下 的控制台程序有其他办法监听鼠标事件吗?

Console如果是QuickEdit模式,ReadConsoleInput无法监听鼠标事件。

解决办法是在属性对话框中去掉QuickEdit的勾选。如下图:

图片说明

问题已解决, 关闭控制台的快速编辑选项即可。

图片说明

题主本人测试,键盘能够监听,鼠标怎么弄都没效果。。