我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用Python捕捉和模拟鼠标事件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用Python捕捉和模拟鼠标事件

这个假期玩了不少galgame,不过有些很老的游戏没有自动运行模式,点击鼠标又太伤按键了,于是想把滚动鼠标滚轮映射为点击鼠标。
网上搜了一下,没发现什么现成的软件,而按键精灵又太重量级了,于是考虑干脆自己用Python写个算了。

很幸运地找到《用Python监听鼠标和键盘事件》这篇文章,于是把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()



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用Python捕捉和模拟鼠标事件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

用Python捕捉和模拟鼠标事件

这个假期玩了不少galgame,不过有些很老的游戏没有自动运行模式,点击鼠标又太伤按键了,于是想把滚动鼠标滚轮映射为点击鼠标。网上搜了一下,没发现什么现成的软件,而按键精灵又太重量级了,于是考虑干脆自己用Python写个算了。很幸运地找到《
2023-01-31

python 捕捉和模拟鼠标键盘操作

最近老师布置了一个作业,要求我们建立一个6位数字的gmail账号,然而我脸太黑,试了好多次都不成功,于是决定用python来写一个脚本遍历输入所有6位数。这就要求掌握使用python捕捉和模拟键盘操作了,于是我查阅了网上诸多资料,终于实现了
2023-01-31

浅析Android 模拟键盘鼠标事件

通过Socket + Instrumentation实现模拟键盘鼠标事件主要通过以下三个部分组成:Socket编程:实现PC和Emulator通讯,并进行循环监听Service服务:将Socket的监听程序放在Service中,从而达到后台
2022-06-06

用Python监听鼠标和键盘事件

最近有点想法,想自己写点小软件,看到网上有篇博客是我想要的,这里记录下。原文地址:点击打开链接   发现他也是转载的,真正的原文出处是:点击打开链接   只是记得不够详细环境搭建等问题,我也搞了差不多10多分钟才把环境搭建好,环境搭建也参考
2023-01-31

WPF双滑块控件如何使用和强制捕获鼠标事件焦点

这篇文章主要介绍了WPF双滑块控件如何使用和强制捕获鼠标事件焦点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇WPF双滑块控件如何使用和强制捕获鼠标事件焦点文章都会有所收获,下面我们一起来看看吧。效果代码部分需
2023-07-02

使用Python来模拟鼠标的点击

2014-06-09 16:08 7442人阅读 评论(0) 收藏 举报 分类:python(18) 使用Python来模拟鼠标的点击转载自http://blog.163.com/oatnehc0924@126/blog/static/35
2023-01-31

Python实战解析selenium的基本元素与键盘鼠标模拟事件

本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于selenium的基本元素与键盘鼠标模拟事件的相关问题,包括了利用 Keys 模块模拟键盘操作事件、用 Action 类模拟鼠标操作事件等,下面一起来看一下,希望对大家有帮助。当我们定位到具体的一个元素的时候就可以对这个元素进行具体的操作,比如之前章节所执行的 click 操作。这是最简单的操作,webdriver 还有其他的操作。比
2022-06-14

Python selenium的基本元素与键盘鼠标模拟事件实例分析

本篇内容主要讲解“Python selenium的基本元素与键盘鼠标模拟事件实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python selenium的基本元素与键盘鼠标模拟事件实例分
2023-07-02

Python中pygame的mouse鼠标事件用法实例

本文实例讲述了Python中pygame的mouse鼠标事件用法。分享给大家供大家参考,具体如下: pygame.mouse提供了一些方法获取鼠标设备当前的状态''' pygame.mouse.get_pressed - get the s
2022-06-04

Python实战之用tkinter库做一个鼠标模拟点击器

前言 用Python做一个鼠标模拟点击器,可以实现多位置,定时,定次数,定区域随机位置点击,对于一些比较肝的游戏(痒痒鼠之类的),挂机非常有帮助,解放双手;定区域随机点击可以一定程度上防止系统检测出有使用脚本开挂的行为import tkin
2022-06-02

怎么在Python中利用tkinter库实现投放鼠标模拟点击器

本篇文章为大家展示了怎么在Python中利用tkinter库实现投放鼠标模拟点击器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录