waesaeasea
2018-01-30 13:46
采纳率: 15.6%
浏览 1.0k

请问一下鼠标驱动过滤能否解决这个问题。

鼠标左键按下后开始连点,鼠标左键松开后停止连点。(全局鼠标连点,不仅限于自身程序)
我先用全局鼠标钩子判断目前鼠标的左键是按下还是放开。
但是因为我有用驱动级的模拟键击的原因,在模拟鼠标左键放开的时候,我的全局鼠标钩子就直接把它当成为我鼠标左键松开了。这样就无法实现连点。
请问各位大神、前辈要怎么才能实现鼠标连点呢?(要全局鼠标连点,就像全局热键那样,窗体失去焦点或最小化也能用。我用的是驱动级的鼠标点击。)

现在应用层无法实现区分物理鼠标还是模拟鼠标。有没有了解鼠标驱动过滤的大神帮忙解决一下。

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

2条回答 默认 最新

  • hxycsdn9159 2018-01-30 14:43

    用windows的API模拟点击 mouse_event接口最后一个参数dwExtraInfo传一个固定的标记值带给鼠标钩子消息里面wParam或者lParam参数,然后监听鼠标消息的时候加上判断,如果传过来的参数等于这个固定值就过滤掉。实际上就是你程序去模拟点击的时候传一个参数标记一下这个鼠标的点击事件是你程序发起的不是真正的鼠标点击的,然后收到这个点击消息之后根据这个参数去判断到底是你程序模拟的点击还是真正的点击

    评论
    解决 无用
    打赏 举报
  • threenewbee 2018-01-30 16:26

    可以使用互斥量在你的鼠标点击和钩子程序之间通讯,通知钩子程序是否启动/禁用。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题