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的勾选。如下图:
问题已解决, 关闭控制台的快速编辑选项即可。
题主本人测试,键盘能够监听,鼠标怎么弄都没效果。。