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在windows命令行下输出彩色文字的方法
Mar 19 Python
《Python之禅》中对于Python编程过程中的一些建议
Apr 03 Python
Python中tell()方法的使用详解
May 24 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python 元类实例解析
Apr 04 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Python如何获取Win7,Win10系统缩放大小
Jan 10 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 Python
Python通过yagmail实现发送邮件代码解析
Oct 27 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 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 Curl多线程原理实例详解
2013/11/06 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
python类继承与子类实例初始化用法分析
2015/04/17 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
员工培训邀请函
2014/01/11 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
小学运动会报道稿
2015/07/22 职场文书
总经理致辞
2015/07/29 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书
详解Python中的for循环
2022/04/30 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers