利用Python实现QQ、微信消息定时发送/自动发送
安装环境
python 3.5 PyQt5==5.15.1 pywin32==228
代码
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465
目的:按时提交英语作业
思路:将要发送的内容保存到剪切板,激活相应的窗口,再使用C-v黏贴到窗口中,A-s发送出去。
发送文字消息时,可以将文字先保存在文件message.txt中,文件内容举例:
嗯嗯? 2022的话 这个就比较赞了 那我可以考虑换个笔记本了 出个新版本就换本子?什么情况 怕卡 [群签到]请使用新版QQ进行查看。 早 早上好 大家好 以前哪个win10下载器谁有吗 去i tell you下
注意:
- 仅适用于windows系统
- QQ、微信发送窗口要打开,不能最小化,但是可以不在最上面一层(即,可以在没有被激活的状态)
- 不可以用于微信、QQ消息轰炸等危险用途,一切问题后果自负
import win32con import win32gui, win32api import win32clipboard as w import time from random import choice from PyQt5 import QtCore,QtWidgets from datetime import datetime import time class sendMsg(): def __init__(self,receiver,msg): self.receiver=receiver self.msg=msg def winUpLoadFile(self): # 将文件复制到剪切板 app = QtWidgets.QApplication([]) data = QtCore.QMimeData() url = QtCore.QUrl.fromLocalFile(self.msg) data.setUrls([url]) app.clipboard().setMimeData(data) clipboard = QtWidgets.QApplication.clipboard() self.sendmsg() def sendText(self): #设置剪贴版内容 w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_UNICODETEXT, self.msg) w.CloseClipboard() self.sendmsg() #发送消息 def sendmsg(self): qq=win32gui.FindWindow(None,self.receiver) win32gui.GetClassName(qq) # 获取窗口classname title = win32gui.GetWindowText(qq) # 获取窗口标题 win32gui.GetDlgCtrlID(qq) win32gui.SetForegroundWindow(qq) # 激活窗口 #粘贴内容 win32api.keybd_event(17, 0, 0, 0) # ctrl键位码是17 win32api.keybd_event(86, 0, 0, 0) # v键位码是86 win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0) # 释放按键 win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0) #发送内容 win32api.keybd_event(18, 0, 0, 0) # Alt win32api.keybd_event(83, 0, 0, 0) # s win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0) # 释放按键 win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0) print("sucessfuly send",self.msg) # 从文件中读取文字 def getmessage(fileName): f=open(fileName,"r",encoding="utf-8") lines=f.readlines() f.close() return choice(lines) def main(): receiver="测试群聊"#这里填入接收者的备注名 date_sche = 17 # 17日 time_sche = 15 # 15时。需要更精确的时间可以调整后面的if条件以及sleep时间 while True: date_now = datetime.now() if date_now.day == date_sche and date_now.hour == time_sche: # msg = getmessage("message.txt") # 设置消息 filename = "G:Users1Desktop英语作业.docx" # 设置文件 qq=sendMsg(receiver, filename) # qq.sendText() # 发送消息 qq.winUpLoadFile() # 发送文件 time.sleep(3600) if __name__ == "__main__": main()