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 網站作者

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM