waesaeasea 2018-01-30 13:46 采纳率: 0%
浏览 1042
已结题

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

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

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

  • 写回答

2条回答 默认 最新

  • hxycsdn9159 2018-01-30 14:43
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊