1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python捕捉和模拟鼠标事件办法

Python捕捉和模拟鼠标事件办法

时间:2023-11-21 12:29:11

相关推荐

Python捕捉和模拟鼠标事件办法

后端开发|Python教程

Python,捕捉,模拟,鼠标事件

后端开发-Python教程

无限流量源码,ubuntu查看tcp连接,外部tomcat配置文件,java问卷爬虫,php镜像工作目录,湘潭获客网络推广seo排名优化lzw

这个假期玩了不少galgame,不过有些很老的游戏没有自动运行模式,点击鼠标又太伤按键了,于是想把滚动鼠标滚轮映射为点击鼠标。

微信加粉php源码,vscode 中划线,ubuntu编译lfs,tomcat禁止爬虫,sqlite字符位置,云服务器搭建虚拟主机,指定的插件模块文件(. amp,文件夹 前端框架,excel 爬虫图片,php培训有前途吗,seo白帽优化和黑帽优化,供需网站源码,网页新弹出新窗口代码,jq模板,用户信息管理页面,学生选课管理系统asp源码,微信小程序模仿lzw

网上搜了一下,没发现什么现成的软件,而按键精灵又太重量级了,于是考虑干脆自己用Python写个算了。

js calendar 源码,节点精灵vscode,epsxe ubuntu,tomcat 端口被占,sqlite模拟量,js图片裁剪插件,前端3D建模框架,爬虫需要掌握哪些知识,php fpm 错误,江苏seo营销推广,湖南做网站的公司,网页微信群发源码,网站静态模板下载lzw

这里需要把PyHook和PyWin32都装上(建议下exe版,免得安装时各种蛋疼)。

翻了翻教学,发现实现起来很简单:

# -*- coding: utf-8 -*- import pythoncom, pyHook def OnMouseEvent(event): print MessageName:,event.MessageName print Message:,event.Message print Time:,event.Time print Window:,event.Window print WindowName:,event.WindowName print Position:,event.Position print Wheel:,event.Wheel print Injected:,event.Injected print --- # 返回 True 可将事件传给其它处理程序,否则停止传播事件 return True # 创建钩子管理对象 hm = pyHook.HookManager() # 监听所有鼠标事件 hm.MouseAll = OnMouseEvent # 等效于hm.SubscribeMouseAll(OnMouseEvent) # 开始监听鼠标事件 hm.HookMouse() # 一直监听,直到手动退出程序 pythoncom.PumpMessages()

这个例子程序捕捉了所有的鼠标事件,实际上我只需要捕捉向下滚动滚轮的事件即可。翻了下文档,对应的是MouseWheel,之后只要判断event.Wheel是否为-1即可。

最后就是触发鼠标点击了,这就需要用到win32api.mouse_event()了,发送一个按下鼠标左键的事件,再发送弹起的事件,就完成一次单击了。

最终代码如下:

# -*- coding: utf-8 -*- import pythoncom import pyHook import time import win32api import win32con def onMouseWheel(event): if event.Wheel == -1:win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)time.sleep(0.05)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0) return True hm = pyHook.HookManager() hm.MouseWheel = onMouseWheel hm.HookMouse() pythoncom.PumpMessages()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。