循环定时向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)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
项目启动之spring篇
在之前终于是把项目跑起来了,也是踩了不少的坑,把bug还原了一遍又一遍,希望能看的更清楚。现在我们跳过tomcat再来看看spring是如何启动的。 项目启动过程之spring篇 1.创建WebApplicationContext # 首先我们在web.xml的配置了这么一个lisenner <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> # 从源码中找到该类,类中的方法都是调用父类来实现的,如此明显的装饰者模式。 public class ContextLoaderListener extends ContextLoader implements ServletContextListener { ..... } # 再看看ContextLoader这个类 public class ContextLoader { # 这个静态方法只为加载一个ContextLoader.properties文件,不出所料的这个文件跟...
- 下一篇
Python全栈 Web(Django框架、模型中的CRUD)
模型中的CRUD 增加数据: 1.Entry.objects.create(属性1=值, 属性2=值,...) 返回值: 创建好的模型对象 def add_views(request): # 三种增加方式 # 1.Entry.objects.create() obj = Author.objects.create(name="Paris", age=18, email="wei8023@gmail.com") print(obj.id, obj.name, obj.age, obj.email) 2.创建一个Entry对象 并通过save() 进行保存 obj = Entry(属性1=值1, ..)
相关文章
文章评论
共有0条评论来说两句吧...