python实现的按键精灵
最近玩上了某款游戏,由于游戏中打怪需要一直按键盘上固定的几个键,时间一长手就会很累,为了解放左手,楼主自行实现了一款按键精灵。
言归正传,本款按键精灵是用python语言实现的,下面介绍一下实现方法:
1.pykeyboard库用来模拟按压键盘的操作
2.pynput库用来监听键盘按压事件
3.threading库用来抛出线程,实现循环按压
4.tkinter库用来实现一个简单的UI界面
介绍一下按键精灵的功能:
1.代码运行后,自动实现键盘按键“1,2,3,4,5,6”的循环按压
2.按“-”键时,暂停循环按压
3.按“+”键时,继续循环按压
4.点击UI界面退出按钮,退出按键精灵
exe文件暂时没有上传,感兴趣的可以自行打包。
代码如下:
from pykeyboard import PyKeyboard
import time, threading
import tkinter as tk
from pynput import keyboard, mousedef on_press(key):try:# print('key {0} pressed'.format(key.char))if key.char is '-':print('"-" press, pause...')a.pause()if key.char is '=':print('"+", continue...')a.resume()except AttributeError:print('key {0} pressed'.format(key))def on_release(bool_value):if bool_value is not True:return bool_valueclass Job(threading.Thread):def __init__(self, *args, **kwargs):super(Job, self).__init__(*args, **kwargs)self.__flag = threading.Event() self.__flag.set() self.__running = threading.Event() self.__running.set() self.k = PyKeyboard()def key_tap(self, key_value, dur_time):self.k.tap_key(key_value)print('press ' + key_value)time.sleep(dur_time)def run(self):while self.__running.isSet():self.__flag.wait() # 为True时立即返回, 为False时阻塞直到内部的标识位为True后返回self.key_tap('1', 0.5)self.key_tap('2', 0.5)self.key_tap('3', 0.5)self.key_tap('4', 0.5)self.key_tap('5', 0.5)self.key_tap('6', 0.5)def pause(self):self.__flag.clear() b2['bg'] = 'Chartreuse'b1['bg'] = 'WhiteSmoke'def resume(self):self.__flag.set() b1['bg'] = 'Chartreuse'b2['bg'] = 'WhiteSmoke'def stop(self):self.__flag.set() self.__running.clear() def exit():a.stop()on_release(False)win.quit()win = tk.Tk()a = Job()
a.start()keyboard_listener=keyboard.Listener(on_press=on_press,on_release=on_release)
keyboard_listener.start()win.title('按键精灵')
win.resizable(width=False, height=False)
win.update()
scnWidth,scnHeight = win.maxsize()
tmpcnf = '%dx%d+%d+%d'%(628, 120, (scnWidth-350)/2, (scnHeight-200)/2)
win.geometry(tmpcnf)b1=tk.Button(win, text='继续', font=('宋体 30 bold'), bg='WhiteSmoke', width=9, height=2, command=a.resume)
b1.grid(row=0, column=0, sticky=tk.W, padx=5, pady=5)
b2=tk.Button(win, text='暂停', font=('宋体 30 bold'), bg='WhiteSmoke',width=9, height=2, command=a.pause)
b2.grid(row=0, column=1, sticky=tk.W, padx=5, pady=5)
b3=tk.Button(win, text='退出', font=('宋体 30 bold'), bg='WhiteSmoke',width=9, height=2, command=exit)
b3.grid(row=0, column=2, sticky=tk.W, padx=5, pady=5)win.mainloop()
功能演示:
程序的创造源于生活中的需求
python实现的按键精灵相关推荐
- python做按键精灵脚本_使用Python实现一个按键精灵 | 蓝士钦
@HANK1998 其实,你这个代码,还有一个问题,鼠标键盘动作回放时,顺序会乱,线程同步问题,做不到鼠标动作和键盘动作交叉执行.,,我能力不太够了,,学的不深,不知道这个问题你解决没??? ---- ...
- python 定时器_按键精灵定时器介绍和使用,不会的小伙伴速速看看精辟
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...
- python 按键精灵脚本_[620]使用Python实现一个按键精灵
按键精灵想必很多人都玩过,使用录制功能将鼠标和键盘的操作录制下来,录制好后就可以通过回放自动执行之前录制的操作,可以设置重复执行的次数,这样就可以将一些重复的劳动交给脚本自动化去完成.使用Python ...
- [620]使用Python实现一个按键精灵
按键精灵想必很多人都玩过,使用录制功能将鼠标和键盘的操作录制下来,录制好后就可以通过回放自动执行之前录制的操作,可以设置重复执行的次数,这样就可以将一些重复的劳动交给脚本自动化去完成.使用Python ...
- python制作自动按键精灵_python,PyAutoGUI,自动操作鼠标键盘,类似按键精灵
三个文件需在同一个文件夹下面,文件夹的位置无要求. 1.第一个文件,trial.py,python代码调用PyAutoGUI操作鼠标键盘.可以通过修改start_time和end_time来确定程序自 ...
- 按键精灵调用python插件_【Python 教程】使用 Python 和大漠插件进行文字识别
家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...
- python游戏脚本之调用按键精灵插件模拟输入(二)
我们准备在python中调用按键精灵的大漠插件来完成模拟驱动的鼠标键盘操作.大漠 综合 插件 (dm.dll)采用vc6.0编写,识别速度超级快! 采用COM接口编写,适用于所有语言调用. 网上相关教 ...
- python找色_python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Python图片处理模块PIL(pillow) pywin32的主要作用 1.捕获窗口: 2.模拟鼠标键盘动作: 3.自动获取某路径下文件列表: 4.PIL截屏功能 找色点击功能思路: 抓取当前屏幕快 ...
- python 按键精灵 离线_(番外篇)Python操纵网盘客户端批量离线下载电影
上回(Python实现电影排行榜自动网盘下载(4)Cookies免登录+抓包下载)说到,一段时间内能进行多少次离线下载还是受限于验证码的输入. 在此有两个解决方案, 见招拆招 通过GUI优化验证码输入 ...
最新文章
- 安全问题会对网络购物季产生负面影响吗
- android系统应用程序,Android系统应用程序基本概念解读
- 【哈佛商学院和斯坦福要求学生必看的20部电影】中/英字幕
- Apache Ignite(五):Ignite的集群部署
- 浅谈C#中的异步编程
- 舞蹈 | 拉丁美洲的节奏
- [NOI2011]兔兔与蛋蛋游戏 二分图博弈
- 201452202014520920145309信息安全系统设计基础实验报告(1)
- bool查询原理 es_es6.2.4,使用bool查询查出的结果,SearchResponse的Hits[]总是比t..._慕课猿问...
- java基础语法的书_第一章--Java基础语法
- SQLyog客户端 导入sql文件乱码的解决方法
- .NET Remoting Basic(4)-客户端调用方式
- Python 实例教程
- 带约束优化之惩罚函数法
- 18款表白源码,搭建网站必备,总有一款适合你
- pathrewrite不生效_webpack配置proxyTable时pathRewrite无效的解决方法
- 电子元器件B2B商城系统开发:赋能企业构建进销存标准化流程实例
- 关于用python实现Windows笔记本自动切换强信号WiFi功能
- 软件测试工程师华为面经
- 2016年第8本:不可思议的心理控制实验