前言
前言还是很好玩hhh就是晚上跟qq群一群年轻气壮的小伙子聊天,然后突然开始竞争“守夜冠军”,好多人表示自己可以通宵
但是我又不想通宵,想到可以用python写个机器人来代替我来定时在群里发消息证明自己存活
技术实现过程
一开始想用直接访问qq的域名之类的方法,使用现成的框架。先在github搜索到了pyqq,但是在二维码登录时又跟之前碰到了一样的情况,登录失败。
经过调查后发现,这个框架是访问网页版qq来进行各种操作的,但是网页版qq已经报废了,之前直接用客户端的框架又因为腾讯改了隐秘协议,所以不能使用。
腾讯qq看起来是一直在避免有人来写针对qq的机器人,但是你可以从网页端隔离咱,总不能禁止咱的自动输入
句柄掌控实现
所以这里使用python的句柄掌控,将想输入的词语放到剪切板,切到qq对话窗口并粘贴发送。将这个举动定时循环进行
最后也成功实现了,缺点是只能一直开着电脑,安装并登陆qq的客户端,还要一直打开着目标qq对话框的窗口,到时候还会弹出qq窗口影响电脑的正常使用。
但是暂时来当做“守夜”时的脚本还可以了,自测只要不锁屏不断网,屏幕黑了也能一直正常发送
下面贴出来代码
import win32gui
import win32con
import win32clipboard as w
import time
def sleeptime(hour,min,sec):
return hour*3600 + min*60 + sec;
second = sleeptime(0,30,0)
#这是隔20秒执行一次
#发送的消息
msg = "劳资依旧是冠军"
#窗口名字
name = "西瓜市场风险投资"
#将测试消息复制到剪切板中
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
w.CloseClipboard()
#获取窗口句柄
while 1==1:
handle = win32gui.FindWindow(None, name)
#填充消息
win32gui.SendMessage(handle, 770, 0, 0)
#回车发送消息
win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
time.sleep(second)
关于这个win32,我觉得继续学习还是有很大的必要的
能做超多骚操作感觉
Q.E.D.
Comments | 0 条评论