循环定时向qq对话框中发送消息

简介: 实现在一个及多个qq窗口定时循环发送消息
在qq中重复发消息,利用网上的操作代码,自己定义了一个类,用多线程和定时实现对一个qq弹窗循环定时发消息。https://github.com/Wn-Dev/qq_send_messages 
# 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板内容发送到qq窗口
# 之后模拟按键发送enter键发送消息

import win32gui
import win32con
import win32clipboard as w
import time
import threading

class SendMessage:
    to_who =''
    msg=''

    def __init__(self,t,m):
        self.to_who = t
        self.msg = m

    def getText(self):
        """获取剪贴板文本"""
        w.OpenClipboard()
        d = w.GetClipboardData(win32con.CF_UNICODETEXT)
        w.CloseClipboard()
        return d

    def setText(self):
        """设置剪贴板文本"""
        w.OpenClipboard()
        w.EmptyClipboard()
        w.SetClipboardData(win32con.CF_UNICODETEXT,self.msg)
        w.CloseClipboard()

    def send_qq(self):
        """发送qq消息
        to_who:qq消息接收人
        msg:需要发送的消息
        """
        # 将消息写到剪贴板
        self.setText()
        # 获取qq窗口句柄
        qq = win32gui.FindWindow(None, self.to_who)
        # 投递剪贴板消息到QQ窗体
        win32gui.SendMessage(qq, 258, 22, 2080193)
        win32gui.SendMessage(qq, 770, 0, 0)
        # 模拟按下回车键
        win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
        win32gui.SendMessage(qq, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
    # def display(self):
    #     print(self.to_who)
        
if __name__ =='__main__':
    num=0
    #msg:你想输入的消息
    msg=''
    #to_who_x: 用于qq的消息窗口
    to_who_1 = ""
    to_who_2 =""
    m1 = SendMessage(to_who_1,msg)
    m2 = SendMessage(to_who_2,msg)

    while True:
        t1= threading.Thread(target= m1.send_qq())
        t2= threading.Thread(target= m2.send_qq())

        t1.start
        t1.join
        t2.start
        t2.join
        print(num)
        num=num+1
        time.sleep(30)
目录
相关文章
|
5月前
自动发消息程序
【7月更文挑战第7天】
34 4
|
7月前
|
存储 SQL 关系型数据库
Python实现给qq自动发消息 终于有人来和我说早安晚安了吗...
Python实现给qq自动发消息 终于有人来和我说早安晚安了吗...
|
7月前
|
Windows
微信消息实现自动推送--方式一 成功啦 进来学
微信消息实现自动推送--方式一 成功啦 进来学
640 1
|
7月前
如何解决由引起的IQKeyboardManager部分页面返回的键盘高度比实际小或最后收到键盘隐藏通知却显示了键盘问题
如何解决由引起的IQKeyboardManager部分页面返回的键盘高度比实际小或最后收到键盘隐藏通知却显示了键盘问题
104 0
|
7月前
|
iOS开发
个推发送消息各字段在系统状态栏显示的信息,点击消息图标激活应用传递的信息,应用在线收到的透传消息信息
个推发送消息各字段在系统状态栏显示的信息,点击消息图标激活应用传递的信息,应用在线收到的透传消息信息
57 0
|
7月前
win32编程 -- 定时消息
win32编程 -- 定时消息
32 0
|
小程序 开发工具 开发者
微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
1372 0
|
安全 开发者
3. 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定
公众号管理员添加开发者时,提醒:该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定
233 0
|
消息中间件 Java RocketMQ
发送确认订单失败消息演示|学习笔记
快速学习发送确认订单失败消息
发送确认订单失败消息演示|学习笔记
|
Web App开发 前端开发 API
你知道关闭页面时怎么向后台发送消息吗?
这两天碰到一个需求:在用户刷新页面或者关闭页面的时候,前端要给后台发一条请求,释放该页面的授权占用。
213 0
你知道关闭页面时怎么向后台发送消息吗?