个人对于监控鼠标滚轴停止后响应事件的idea

该博客介绍了一种利用pyWinhook库实现在Python中监控鼠标滚轴事件的方法,通过计算滚动间隔来区分连续滚动与停止。作者分享了如何通过获取时间戳来实现这一功能,并在HookManager中设置鼠标事件监听器。
摘要由CSDN通过智能技术生成

背景

使用建立在pyWinhook.HookManager()背景下,监控鼠标滚轴停止后响应事件。

想法

有想过使用计时器,各种办法,于是在百度、csdn上找了一下没有,没有我这个小白会用的后来我想到了一个方法:获取当前时间,在获取鼠标点击时间,两个时间相减判断间隔判断是否为连续滚动

实现

from datetime import datetime
import pyWinhook
import pythoncom


class A():
    def __init__(self):
        self.seconds = datetime.now()


    def onMouseEvent(self, event):
        if event.Message == 522:  # 滚轴
            seconds2 = datetime.now()
            if (seconds2 - self.seconds).seconds > 4: # 间隔大于4秒视为此次为首次滚动,否则                                
                                                      # 视为连续滚动
                self.seconds = seconds2
                pirnt('滚动结束')


    def main(self):
        # 创建一个“钩子”管理对象
        hm = pyWinhook.HookManager()
        # 监听所有键盘事件和鼠标时间
        hm.KeyDown = self.onKeyboardEvent
        # 设置键盘“钩子”
        hm.HookKeyboard()
        # 监听所有鼠标事件
        hm.MouseAll = self.onMouseEvent
        # 设置鼠标“钩子”
        hm.HookMouse()
        # 进入循环,如不手动关闭,程序将一直处于监听状态
        pythoncom.PumpMessages()


if __name__ == "__main__":
    a = A()
    a.main()

如果遇到安装pyhook,pyWinhook pythoncom安装问题,请参考我写的其他博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猛男学习

打啥赏真的是,照烧鸡不好吃了?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值