预设
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=" + uinwebbrowser.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 tempwhile 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 = Falseelse:print("等待",timeDate)time.sleep(3)
#赋值
def setData(e1,e2,e3,e4):global msgglobal qNameglobal timeDateglobal uinmsg = e3timeDate = e1qName =e2uin =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()