• 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 />','')+"
     
    "
    
    # 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 网站作者

  • 相关阅读:
    一个完整的Oracle建表的例子
    【转】oracle 体系结构
    JMeter-Window10系统下设置环境变量
    JMeter 3.0 POST Body Data 中文乱码问题
    JMeter接口测试报错,反馈和postman不一样(二)
    JMeter参数文件的相对路径
    JMeter正则表达式提取器说明
    JMeter接口测试报错,反馈和postman不一样(一)
    协程实现多边同时交互原理
    python 多线程中子线程和主线程相互通信
  • 原文地址:https://www.cnblogs.com/luxd/p/12777677.html
Copyright © 2020-2023  润新知