python实现键盘控制鼠标移动


Posted in Python onNovember 27, 2020

玩QQ桌球游戏时,有时候用鼠标控制鼠标指针的微小移动比较费劲儿,所以想写个程序,可以用键盘的上下左右键来控制鼠标的移动,每次只移动一个像素。

本脚本依赖pywin32、pyHook和pymouse这两个库,请自行安装。代码中的pythoncom是pywin32库的一部分,运行脚本后,即可通过键盘的上下左右键控制鼠标移动了。

# -*- coding:utf-8 -*-
# 左37 上38 右39 下40
 
import pythoncom
import pyHook
from pymouse import PyMouse
 
def onKeyboardEvent(event):
 # 获取所按下按键的id
 keyID = event.KeyID 
 # 获取当前鼠标的坐标
 mouse = PyMouse()
 x, y = mouse.position()
 x = int(x)
 y = int(y)
 
 # 设定x和y的偏移量
 deltaX = 0
 deltaY = 0
 
 if keyID == 37:
  deltaX = -1
 elif keyID == 38:
  deltaY = -1
 elif keyID == 39:
  deltaX = 1
 elif keyID == 40:
  deltaY = 1
 else:
  return True
 
 # 移动鼠标
 mouse.move(x + deltaX, y + deltaY)
 return True
 
def main():
 # 启动键盘事件的监听
 hm = pyHook.HookManager()
 hm.KeyDown = onKeyboardEvent
 hm.HookKeyboard()
 pythoncom.PumpMessages()
 
if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现二维码扫码自动登录淘宝
Dec 27 Python
Django中使用celery完成异步任务的示例代码
Jan 23 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
flask-restful使用总结
Dec 04 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
python 产生token及token验证的方法
Dec 26 Python
Python3标准库总结
Feb 19 Python
24式加速你的Python(小结)
Jun 13 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
Aug 04 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 Python
解决python 无法加载downsample模型的问题
Oct 25 #Python
python实现写数字文件名的递增保存文件方法
Oct 25 #Python
python hook监听事件详解
Oct 25 #Python
python根据list重命名文件夹里的所有文件实例
Oct 25 #Python
python学习之hook钩子的原理和使用
Oct 25 #Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 #Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 #Python
You might like
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
python3序列化与反序列化用法实例
2015/05/26 Python
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
python线程里哪种模块比较适合
2020/08/02 Python
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
成功的餐厅经营创业计划书
2014/01/15 职场文书
会计学生自我鉴定
2014/02/06 职场文书
《锄禾》教学反思
2014/04/08 职场文书
2015年父亲节寄语
2015/03/23 职场文书
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android