使用pyhook3/pynput实现键盘连发
安装
pyhook在窗口标题为中文时会报错,必须安装pyhook3。
pip install pyhook3
可能存在以下问题:
- swig.exe不存在:
http://www.swig.org/download.html
下载解压,并将目录添加到环境变量中 - 提示缺少VC++ 14.0:
Visual C++ Build Tools 2015
下载安装,按默认值即可 - cl.exe不存在
打开 C:\Program Files (x86)\Microsoft Visual C++ Build Tools\Visual C++ 2015 x86 x64 Cross Build Tools Command Prompt.lnk 然后在其中运行pip安装命令
监听键盘
使用pynput监听:
from pynput.keyboard import Key, Listener, Controller
import time
from threading import Lock, Thread
import randomlock = Lock()
abilities = set()
hot_keys = {Key.f1: 'q',Key.f2: 'w',Key.f3: 'e',Key.f4: 'r'
}
keyboard = Controller()def cast_ability():while True:time.sleep(0.001)bak = list(abilities)random.shuffle(bak)for ability in bak:time.sleep(random.uniform(0.05, 0.1))keyboard.press(ability)keyboard.release(ability)def toggle_ability_status(key):if key in hot_keys:ability = hot_keys[key]with lock:if ability in abilities:abilities.remove(ability)else:abilities.add(ability)threads = [Thread(target=cast_ability), Listener(on_press=toggle_ability_status)]
for listener in threads:listener.start()
for listener in threads:listener.join()
使用PyHook3监听
import pythoncom
import PyHook3
from pynput.keyboard import Controller
import time
from threading import Lock, Thread
import randomlock = Lock()
abilities = set()
hot_keys = {'F1': 'q','F2': 'w','F3': 'e','F4': 'r'
}
keyboard = Controller()def cast_ability():while True:time.sleep(0.001)bak = list(abilities)random.shuffle(bak)for ability in bak:time.sleep(random.uniform(0.05, 0.1))keyboard.press(ability)keyboard.release(ability)def toggle_ability_status(event):key = event.Keyif key in hot_keys:print(key)ability = hot_keys[key]with lock:if ability in abilities:abilities.remove(ability)else:abilities.add(ability)return Truehm = PyHook3.HookManager()
hm.KeyDown = toggle_ability_status
hm.HookKeyboard()
Thread(target=cast_ability).start()
pythoncom.PumpMessages()
使用pyhook3/pynput实现键盘连发相关推荐
- pynput模块—键盘鼠标操作和监听
pynput.mouse:包含控制和监控鼠标或者触摸板的类. pynput.keyboard:包含控制和监控键盘的类. 上面提到的子包都已被引入到pynput库中.要使用上面的子包,从pynput中引 ...
- python pynput鼠标键盘监控(详细)第2部键盘监控tcy
1.类键盘监听实现 """1.作者:tcy 写于上海叶榭.2018/8/30 2.用途:实时监听键盘,可用来启停程序,键盘中断. 如输入s ...
- Tkinter键盘敲击监听小工具
Tkinter键盘敲击监听小工具 1. 用到的库 tkinter # Python自带的GUI库 pynput # 具有键盘监听和控制功能的库 2. 代码 import threading impor ...
- Python使用pynput制作GTA5地堡自动挂机程序
0.起因(刚编的故事) 最近GTA5刚解锁了地堡,可是生产货物必须得在线才可以,而且得有动作,不然就会被认为发呆踹下线,但升级了安保系统后就可以看监控,但手动按键盘太枯燥,写个脚本帮你自动按键,这样就 ...
- Python真神奇,带你体验另类的“全自动编程”
近年来"自动编程"."智能编程"方面的项目层出不穷,例如AutoML.kite,以及最近风靡一时的python_autocomplete,这些项目有一个共同点, ...
- python控制台动画_Python真神奇,带你体验另类的“全自动编程”
近年来"自动编程"."智能编程"方面的项目层出不穷,例如AutoML.kite,以及最近风靡一时的python_autocomplete,这些项目有一个共同点, ...
- [terminal]终端仿真程序
1 char * szCommAry[COMM_NUM]={ 2 //屏幕属性命令,23 3 "\x1b[12h",//禁止本端回显,键盘数据仅送给主机 4 "\x1b[ ...
- Python:一个闹钟
之前我做的程序,一个使用了Tkinter库,一个则是Pygame,总之都是带有图形化的界面的.但作为一个懒汉,我自然能懒必懒(这点我非常有自知之明),这次,我就来一个简单朴素的没有图形界面的程序. 这 ...
- Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported [已解决]...
原文链接: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported [已解 ...
最新文章
- MASQUERADE --random 端口不随机
- 【转载】视频CDN技术原理与流程说明
- 城市规划理论1 选址理论
- C++ 动态创建按钮及 按钮的消息响应
- Swift快速入门(一)第一个Swift程序
- 数值计算与优化(共轭梯度法和QR)
- php删除记录图片吗,php 删除记录同时删除图片文件的实现代码_PHP教程
- 漫画:什么是流行病的 R0 和 R ?
- 变量的命名规则与惯例
- centos-5.5安装vmvare tools
- 蓝天采集器:一个开源的PHP爬虫系统,可视化的采集器
- USB PD快充协议
- 华三交换机升级的ipe文件_H3C S5830V2[S5820V2]系列以太网交换机 配置指导-Release 2108-6W101...
- 从新一期技术雷达看技术领域最新趋势
- 利用人脸微笑数据集训练识别模型,完成对人脸图片微笑识别
- vue使用组件化思想实现一个简单的购物车页面
- iptables禁止访问某个域名
- Mac Xnip 截图软件快捷键设置
- 指针进阶·八道笔试题(四)
- uniapp使用第三方文字,本地文字