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 相关文章推荐
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
python实现堆栈与队列的方法
Jan 15 Python
Python给你的头像加上圣诞帽
Jan 04 Python
Python2.7 实现引入自己写的类方法
Apr 29 Python
使用python 3实现发送邮件功能
Jun 15 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
Python 如何批量更新已安装的库
May 26 Python
python speech模块的使用方法
Sep 09 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
Python列表元素删除和remove()方法详解
Jan 04 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中使用模板的方法
2008/05/24 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
用Python制作简单的钢琴程序的教程
2015/04/01 Python
Django的session中对于用户验证的支持
2015/07/23 Python
python中list列表的高级函数
2016/05/17 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
什么是lambda函数
2013/09/17 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
采购部岗位职责
2013/11/24 职场文书
高中家长寄语
2014/04/02 职场文书
大学生活自我评价
2014/04/09 职场文书
临床专业自荐信
2014/06/22 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python