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通过poll实现异步IO的方法
Jun 04 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
Python用list或dict字段模式读取文件的方法
Jan 10 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
python lambda表达式(匿名函数)写法解析
Sep 16 Python
Django 自动生成api接口文档教程
Nov 19 Python
windows下python安装pip方法详解
Feb 10 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
python库sklearn常用操作
Aug 23 Python
对象析构函数__del__在Python中何时使用
Mar 22 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 将excel导入mysql
2009/11/09 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
让您的菜单不离网站
2006/10/03 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
用python实现名片管理系统
2020/06/18 Python
降低python版本的操作方法
2020/09/11 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
中国跨境海淘网站:考拉海购
2016/08/01 全球购物
基本款天堂:Everlane
2017/05/13 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
2014教师研修学习体会
2014/07/08 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
2014年技术员工作总结
2014/11/18 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
Python实现为PDF去除水印的示例代码
2022/04/03 Python
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang