Shuo_Lin
2017-04-25 20:09
采纳率: 100%
浏览 2.3k
已采纳

如何解决 「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下 的控制台程序有其他办法监听鼠标事件吗?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 战在春秋 2017-04-25 21:23
    已采纳

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

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

    已采纳该答案
    评论
    解决 4 无用
    打赏 举报
  • Shuo_Lin 2017-04-26 07:00

    图片说明

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

    评论
    解决 2 无用
    打赏 举报
  • Shuo_Lin 2017-04-25 20:16

    图片说明

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题