故事背景:
表弟跟我說,他玩游戲玩的不是很好,導致經常被隊友互動,但是自己的手速有限,經常在互動中敗陣。
因此,嘗試做一款小工具,幫助表弟取得和隊友互動的勝利!
邏輯設計:
監聽鍵盤上的某個按鍵
當該按鍵被按下時,調用數據庫(或者遠程接口)的數據
將獲取到的數據寫進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 網站作者