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函数参数的区别(必看篇)
May 29 Python
tensorflow实现简单的卷积网络
May 24 Python
Python3使用turtle绘制超立方体图形示例
Jun 19 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
opencv python如何实现图像二值化
Feb 03 Python
python 插入日期数据到Oracle实例
Mar 02 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
python中的django是做什么的
Jul 31 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 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 判断数组是几维数组
2013/03/20 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php遍历CSV类实例
2015/04/14 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
document.createElement()用法
2013/03/13 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
JavaScript实现级联菜单的方法
2015/06/29 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
jQuery事件对象总结
2016/10/17 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
简单谈谈Python流程控制语句
2016/12/04 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Django model序列化为json的方法示例
2018/10/16 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
在Python中使用Neo4j的方法
2019/03/14 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
python/golang 删除链表中的元素
2020/09/14 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
比利时买床:Beter Bed
2017/12/06 全球购物
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
银行简历自我评价
2014/02/11 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL