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