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的几条建议分享
Feb 10 Python
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
pip安装时ReadTimeoutError的解决方法
Jun 12 Python
PyTorch基本数据类型(一)
May 22 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
python 实现Harris角点检测算法
Dec 11 Python
python读取mat文件生成h5文件的实现
Jul 15 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
splice slice区别
2006/10/09 Javascript
ext读取两种结构的xml的代码
2008/11/05 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
URL中“#” “?” &“”号的作用浅析
2017/02/04 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python分析学校四六级过关情况
2017/11/22 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
pyshp创建shp点文件的方法
2018/12/31 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
python访问hdfs的操作
2020/06/06 Python
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
生产副总岗位职责
2013/11/28 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
大学生职业规划论文
2014/01/11 职场文书
违纪检讨书2000字
2014/02/08 职场文书
经典广告词大全
2014/03/14 职场文书
导游个人求职信
2014/04/25 职场文书
创先争优一句话承诺
2014/05/29 职场文书
真诚的求职信
2014/07/04 职场文书
党员个人总结范文
2015/02/14 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
多人股份制合作协议书
2016/03/19 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL