循环定时向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)
目录
相关文章
|
Go Android开发
autojs发送通知修改图标
牙叔教程 简单易懂
707 0
|
7月前
自动发消息程序
【7月更文挑战第7天】
41 4
|
9月前
如何解决由引起的IQKeyboardManager部分页面返回的键盘高度比实际小或最后收到键盘隐藏通知却显示了键盘问题
如何解决由引起的IQKeyboardManager部分页面返回的键盘高度比实际小或最后收到键盘隐藏通知却显示了键盘问题
133 0
|
9月前
|
iOS开发
个推发送消息各字段在系统状态栏显示的信息,点击消息图标激活应用传递的信息,应用在线收到的透传消息信息
个推发送消息各字段在系统状态栏显示的信息,点击消息图标激活应用传递的信息,应用在线收到的透传消息信息
73 0
|
9月前
win32编程 -- 定时消息
win32编程 -- 定时消息
47 0
|
JavaScript
nodejs自动接收新邮件进行处理
通过imap 来接收邮箱新邮件,类似客户端系列,不过比较简单的,目前只有新邮件,后续也可以通过这个来做一个自己的邮件客户端。
nodejs自动接收新邮件进行处理
|
小程序 开发工具 开发者
微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
1540 0
|
JavaScript 前端开发
使用Js定时器来定时跳转
记录:想实现在5秒后跳转到指定页面,使用到JS定时器和Location对象。
177 0
|
消息中间件 Java RocketMQ
发送确认订单失败消息演示|学习笔记
快速学习发送确认订单失败消息
108 0
发送确认订单失败消息演示|学习笔记
|
Web App开发 前端开发 API
你知道关闭页面时怎么向后台发送消息吗?
这两天碰到一个需求:在用户刷新页面或者关闭页面的时候,前端要给后台发一条请求,释放该页面的授权占用。
231 0
你知道关闭页面时怎么向后台发送消息吗?