Python实现快捷输入(类似WeGame的一键喊话)
故事背景:
表弟跟我说,他玩游戏玩的不是很好,导致经常被队友互动,但是自己的手速有限,经常在互动中败阵。
因此,尝试做一款小工具,帮助表弟取得和队友互动的胜利!
逻辑设计:
监听键盘上的某个按键
当该按键被按下时,调用数据库(或者远程接口)的数据
将获取到的数据写进Windows的剪贴板
模拟粘贴快捷键(Ctrl + V),将数据文本直接粘贴到光标位置(比如聊天框)
直接上程序
from pynput.keyboard import Listener,Key, Controller # import logging import win32clipboard as w # import win32con import time import requests # wenjianweizhi = "D:\\hi\\" # logging.basicConfig(filename=(wenjianweizhi + "keylogger.txt"), format="%(asctime)s:%(message)s", level=logging.DEBUG) def download_page(url): headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"} r = requests.get(url, headers=headers) # 增加headers, 模拟浏览器 return r.text.replace('<br />','')+"\r \n" # def getClipboard():#读取剪切板 # w.OpenClipboard() # d = w.GetClipboardData(win32con.CF_TEXT) # w.CloseClipboard() # return d def setClipboard(aString):#写入剪切板 w.OpenClipboard() w.EmptyClipboard() w.SetClipboardText(aString) w.CloseClipboard() def press(key): try : print(key.char) if key.char == '-' : print('进来了 -- ') url = 'https://nmsl.shadiao.app/api.php?level=min&lang=zh_cn' html = download_page(url) # 在这里调接口,将数据写进剪贴板,然后模拟键盘的粘贴(Ctrl + V) setClipboard(str(html)) keyboard = Controller() keyboard.press(Key.ctrl) keyboard.press('v') # 延时10毫秒 time.sleep(0.01) keyboard.release(Key.ctrl) keyboard.release('v') except Exception as e: print("已调到该程序,但是引用报错", e) with Listener(on_press=press) as listener: listener.join()
使用方法
运行该py程序,然后找一个可以打字的地方,按下键盘上的减号(-)
等待半秒钟左右,这时候你会神奇的发现,光标后边自动出来了一句话
下面贴图展示运行后,我按了十几次减号的结果
鸣谢
nmsl.shadiao.app 网站作者
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律