python-qq定时自动消息发送

预设

qq需要可以enter发送消息

发qq表情代码需要开启快捷表情

import sys
import win32gui
import win32con
import win32clipboard as w
import win32api
import time
import subprocess
import datetime
import webbrowser
import tkinter as tk
vb_file_path = "./openQQ.vbs"
def run_vb_script():
    subprocess.run(['cscript', vb_file_path])

# 消息内容
msg = 'ƣ'
qName = 'chn'
uin =''
timeDate = ''
temp=True
#复制操作
def send_msg(name,mes,uin):
    url = "tencent://message/?uin=" + uin
    webbrowser.open(url)
    time.sleep(1)
    # 获取窗口句柄
    handle = win32gui.FindWindow(None, name)
    # 将 QQ 窗口设置为活动窗口
    win32gui.SetForegroundWindow(handle)
    # 将测试消息放到剪贴板
    w.OpenClipboard()
    w.EmptyClipboard()
    print(mes)
    time.sleep(1)
    w.SetClipboardData(win32con.CF_UNICODETEXT, mes)
    w.CloseClipboard()
    # 通过剪贴板填充消息
    win32gui.SendMessage(handle, win32con.WM_PASTE, 0, 0)
    # 模拟按下 Enter 键
    win32api.keybd_event(win32con.VK_RETURN, 0, 0, 0)
    time.sleep(0.1)
    # 模拟释放 Enter 键
    win32api.keybd_event(win32con.VK_RETURN, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(0.1)
    # 释放 QQ 窗口的焦点
    win32gui.ReleaseCapture()
#执行
def runTime():
        print(778, qName, timeDate)
        global temp
        while temp:
            time_now = datetime.datetime.now().strftime("%Y%m%d%H%M")  # 刷新
            if time_now == timeDate:  # 设置要执行的时间
                send_msg(qName,msg,uin)
                print(77,qName, timeDate)
                temp = False

            else:
                print("等待",timeDate)
                time.sleep(3)
#赋值
def setData(e1,e2,e3,e4):
    global msg
    global qName
    global timeDate
    global uin
    msg = e3
    timeDate = e1
    qName =e2
    uin =e4

  

#弹窗操作
def run_tk():
    # 创建弹窗
    popup = tk.Tk()
    popup.wm_title("输入弹窗")
    #第一个输入框
    label1 = tk.Label(popup, text="输入执行时间:")
    label1.pack()
    e1 = tk.Entry(popup)
    e1.pack()

    # 第二个输入框
    label2 = tk.Label(popup, text="输入窗口名称:")
    label2.pack()
    e2 = tk.Entry(popup)
    e2.pack()
    # 第二个输入框
    label3 = tk.Label(popup, text="输入qq号:")
    label3.pack()
    e3 = tk.Entry(popup)
    e3.pack()
    # 第三个输入框
    label4 = tk.Label(popup, text="输入发送内容:")
    label4.pack()
    e4 = tk.Entry(popup)
    e4.pack()
    def get_input():
            setData(e1.get(), e2.get(), e4.get(), e3.get())
            popup.destroy()  # 关闭弹窗
            runTime()
           

    submit_button = tk.Button(popup, text="提交", command=get_input)  # 创建提交按钮
    submit_button.pack()  # 将按钮放到窗口里
    popup.mainloop()

run_tk()
sys.exit()

作者:贺今宵

物联沃分享整理
物联沃-IOTWORD物联网 » python-qq定时自动消息发送

发表回复