• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

利用Python实现QQ、微信消息定时发送/自动发送【支持发送文件】

python 搞java代码 3年前 (2022-05-21) 17次浏览 已收录 0个评论

安装环境

<a href="https://www.gaodaima.com/tag/python" title="查看更多关于python的文章" target="_blank">python</a> 3.5
PyQt5==5.15.1
pywin32==228

www#gaodaima.com来源gao!daima.com搞$代!码网搞代码

代码

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465

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

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

注意:

  1. 仅适用于windows系统
  2. QQ、微信发送窗口要打开,不能最小化,但是可以不在最上面一层(即,可以在没有被激活的状态)
  3. 不可以用于微信、QQ消息轰炸等危险用途,一切问题后果自负
<span>import win32con
import win32gui, win32api
import win32clipboard </span><span>as</span><span> w
import time
</span><span>from</span><span> random import choice
</span><span>from</span><span> PyQt5 import QtCore,QtWidgets
</span><span>from</span><span> datetime import datetime
import time

</span><span>class</span><span> sendMsg():
    def __init__(self,receiver,msg):
        self.receiver</span>=<span>receiver
        self.msg</span>=<span>msg

    def winUpLoadFile(self):
        # 将文件复制到剪切板
        app </span>=<span> QtWidgets.QApplication([])
        data </span>=<span> QtCore.QMimeData()
        url </span>=<span> QtCore.QUrl.fromLocalFile(self.msg)
        data.setUrls([url])
        app.clipboard().setMimeData(data)
        clipboard </span>=<span> 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):
        <a href="https://www.gaodaima.com/tag/qq" title="查看更多关于qq的文章" target="_blank">qq</a></span>=<span>win32gui.FindWindow(None,self.receiver)
        win32gui.GetClassName(qq)  # 获取窗口classname
        title </span>=<span> win32gui.GetWindowText(qq)  # 获取窗口标题
        win32gui.GetDlgCtrlID(qq)
        win32gui.SetForegroundWindow(qq)  # 激活窗口

        #粘贴内容
        win32api.keybd_event(</span><span>17</span>, <span>0</span>, <span>0</span>, <span>0</span><span>)  # ctrl键位码是17
        win32api.keybd_event(</span><span>86</span>, <span>0</span>, <span>0</span>, <span>0</span><span>)  # v键位码是86
        win32api.keybd_event(</span><span>86</span>, <span>0</span>, win32con.KEYEVENTF_KEYUP, <span>0</span><span>)  # 释放按键
        win32api.keybd_event(</span><span>17</span>, <span>0</span>, win32con.KEYEVENTF_KEYUP, <span>0</span><span>)

        #发送内容
        win32api.keybd_event(</span><span>18</span>, <span>0</span>, <span>0</span>, <span>0</span><span>)  # Alt
        win32api.keybd_event(</span><span>83</span>, <span>0</span>, <span>0</span>, <span>0</span><span>)  # s
        win32api.keybd_event(</span><span>83</span>, <span>0</span>, win32con.KEYEVENTF_KEYUP, <span>0</span><span>)  # 释放按键
        win32api.keybd_event(</span><span>18</span>, <span>0</span>, win32con.KEYEVENTF_KEYUP, <span>0</span><span>)

        print(</span><span>"</span><span>sucessfuly send</span><span>"</span><span>,self.msg)

# 从文件中读取文字
def getmessage(fileName):
    f</span>=open(fileName,<span>"</span><span>r</span><span>"</span>,encoding=<span>"</span><span>utf-8</span><span>"</span><span>)
    lines</span>=<span>f.readlines()
    f.close()
    </span><span>return</span><span> choice(lines)

def main():
    receiver</span>=<span>"</span><span>测试群聊</span><span>"</span><span>#这里填入接收者的备注名 
    date_sche </span>= <span>17</span><span> # 17日
    time_sche </span>= <span>15</span><span> # 15时。需要更精确的时间可以调整后面的if条件以及sleep时间
    </span><span>while</span><span> True:
        date_now </span>=<span> datetime.now()
        </span><span>if</span> date_now.day == date_sche and date_now.hour ==<span> time_sche:
            # msg </span>= getmessage(<span>"</span><span>message.txt</span><span>"</span><span>) # 设置消息
            filename </span>= <span>"</span><span>G:Users1Desktop英语作业.docx</span><span>"</span><span> # 设置文件
            qq</span>=<span>sendMsg(receiver, filename)
            # qq.sendText() # 发送消息
            qq.winUpLoadFile() # 发送文件
        time.sleep(</span><span>3600</span><span>)

</span><span>if</span> __name__ == <span>"</span><span>__main__</span><span>"</span><span>:
    main()</span>

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用Python实现QQ、微信消息定时发送/自动发送【支持发送文件】
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

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