欢迎光临
我们一直在努力

用Python实现QQ、微信消息定时发送/自动发送/文件发送

安装环境

python 3.5
PyQt5==5.15.1
pywin32==228

代码

私信小编01即可获取大量Python学习资料

目的:按时提交英语作业
思路:将要发送的内容保存到剪切板,激活相应的窗口,再使用C-v黏贴到窗口中,A-s发送出去。
发送文字消息时,可以将文字先保存在文件message.txt中,文件内容举例:

嗯嗯?
2022的话 这个就比较赞了
那我可以考虑换个笔记本了
出个新版本就换本子?什么情况
怕卡
[群签到]请使用新版QQ进行查看。
早
早上好
大家好
以前哪个win10下载器谁有吗
去i tell you下

注意:

 

 

  1. 仅适用于windows系统
  2. QQ、微信发送窗口要打开,不能最小化,但是可以不在最上面一层(即,可以在没有被激活的状态)
  3. 不可以用于微信、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:\Users\1\Desktop\英语作业.docx' # 设置文件
            qq=sendMsg(receiver, filename)
            # qq.sendText() # 发送消息
            qq.winUpLoadFile() # 发送文件
        time.sleep(3600)

if __name__ == '__main__':
    main()
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:英协网 » 用Python实现QQ、微信消息定时发送/自动发送/文件发送

分享到: 生成海报
avatar

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活