Python实现快捷输入(类似WeGame的一键喊话)
时间:2020-04-26
本文章向大家介绍Python实现快捷输入(类似WeGame的一键喊话),主要包括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 网站作者
原文地址:https://www.cnblogs.com/luxd/p/12777677.html
- 在数据库上实现类似铁路售票锁票功能
- Android代码判断手机是否已root方法学习
- 实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以
- Android中Context用法详解学习
- 【自然框架】之 “表单控件”与“实体类”
- Android数据存储实现的5大方式
- Android实现图片异步加载操作
- (PDF.NET框架实例讲解)将存储过程映射为实体类
- 【开源】QuickPager ASP.NET2.0分页控件——使用示例、基本应用和查询功能
- 移花接木:当泛型方法遇上抽象类----我的“内存数据库”诞生记
- Android扫描多媒体文件剖析
- Android的进程与线程使用总结
- Android在WebView中加载HTML并实现交互
- 使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序 示例过程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法