利用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()

![利用Python实现QQ、微信消息定时发送/自动发送【支持发送文件】[Python常见问题]](https://www.zixueka.com/wp-content/uploads/2023/10/1696831975-143d599daebdbc1.jpg)
