python簡易版微信或QQ轟炸


​ 在講解代碼之前我們先來回憶一下,平時我們發送消息時,先打開微信或QQ的界面,在信息欄中輸入你要發送的內容在點擊發送或通過快捷鍵發送。如果要發送表情時,先打開微信或QQ的界面,在點擊表情包中你要發送的表情在點擊發送或通過快捷鍵發送

​ 而這個簡易版微信或QQ轟炸就是通過pyautogui模塊來模擬鍵盤和鼠標來發送消息,tkinter模塊來將其包裝成一個應用界面

pyautogui模塊

https://www.cnblogs.com/MrYang161/p/11519282.html

tkinter模塊

https://www.cnblogs.com/MrYang161/p/11528037.html

代碼解析

下面的代碼是以發送表情為例

#先通過這個找到需要點擊的位置
import pyautogui  as gui
screenWidth, screenHeight = gui.size()#以雙整數元組的形式返回屏幕的(寬度,高度)以像素為單位
currentMouseX, currentMouseY = gui.position()
# '''
# 以雙整數元組的形式返回鼠標指針的當前xy坐標。Args: x (int, None, optional)
# ——如果沒有,這個參數將覆蓋返回值中的x。y (int, None, optional)
# ——如果不是None,這個參數將覆蓋返回值中的y。返回:(x, y)鼠標當前xy坐標的元組。注意:position() functon不檢查故障保險。
# '''
print(screenWidth, screenHeight )
print(currentMouseX, currentMouseY )



#在將位置改完之后在運行以下代碼
import tkinter
from tkinter import messagebox

from tkinter import ttk
import pyautogui as gui
import time

def run():

    time.sleep(2)
    gui.hotkey('Alt', 'Tab')
    gui.click(951, 685)#點擊表情包的位置(要更改)
    time.sleep(0.6)
     
    gui.click(967, 330)#點擊要發送的表情的位置(要更改)
    gui.click(953, 695)#點擊信息欄的位置(要更改)
    time.sleep(0.2)
    gui.hotkey('ctrl', 'c')
    time.sleep(0.2)
    gui.hotkey('ctrl', 'enter')
    for i in range(4):

        gui.hotkey('ctrl', 'v')
        time.sleep(0.2)
        gui.hotkey('ctrl', 'enter')
def take():
    time.sleep(2)
    gui.hotkey('Alt', 'Tab')
    gui.click(951, 685)#點擊表情包的位置(要更改)
    time.sleep(0.6)

    gui.click(967, 330)#點擊要發送的表情的位置(要更改)
    gui.click(953, 695)#點擊信息欄的位置(要更改)
    time.sleep(0.2)
    gui.hotkey('ctrl', 'c')
    time.sleep(0.2)
    gui.hotkey('ctrl', 'enter')
    for i in range(4):

        gui.hotkey('ctrl', 'v')
        time.sleep(0.2)
        gui.hotkey('ctrl', 'enter')
        
def reu(s):
    print(s)
    if s=='qq':
        run()#運行QQ轟炸
    elif s=='wei':
        take()#運行微信轟炸

rook=tkinter.Tk()
rook.title('微信轟炸')#界面名稱
rook.geometry('450x300')#界面大小
#<VirtualEvent event x=0 y=0>
comvalue = tkinter.StringVar()  # 窗體自帶的文本,新建一個值
comboxlist = ttk.Combobox(rook, width=12,textvariable=comvalue)# 初始化

comboxlist["values"] = ('qq','wei')#下拉框中的值
comboxlist.current(0)  # 選擇第一個
comboxlist.bind("<<ComboboxSelected>>", reu)  # 綁定事件,(下拉列表框被選中時,綁定go()函數)
 #綁定事件,(下拉列表框被選中時,綁定func()函數)
comboxlist.pack()
tkinter.Label(rook,text='請輸入:',font=("黑體",10, "bold"),bg='Yellow').pack()

 # 綁定變量
e = tkinter.Variable()
entry2 = tkinter.Entry(rook, textvariable=e)#輸入內容
entry2.pack()

# e就代表輸入框這個對象
# 設置值
b1=tkinter.Button(rook,text='運行',font=("黑體",11, "bold"),command=lambda : reu(entry2.get())).pack()
#輸入的內容entry2.get())
rook.mainloop()


免責聲明!

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



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