开局一张图:被这些PS学姐搞烦了,一直想着那天要是他们再来就。。。今天这个想法成真了。
效果图: 代码在最下面,当然啦这样做其实是不好的,我也就是图一乐,但是哪怕是真的不在乎也要小心被封号。对于这种嘛真的有心情还是不要爆破,搞个自动回复,当一个礼貌的复读机就行了。
爆破代码传送门
while True:
#打开剪贴板
w.OpenClipboard()
#清空剪贴板
w.EmptyClipboard()
#设置剪贴板内容
w.SetClipboardData(win32con.CF_UNICODETEXT, "aaa")
#获取剪贴板内容
date = w.GetClipboardData()
#关闭剪贴板
w.CloseClipboard()
print(date)
w.SetClipboardData(win32con.CF_UNICODETEXT, “aaa”)每次都相当于执行了Ctrl+C
当然Win10系统对重复的复制有一个处理机制,就是如下图,第一条是“aaa”,你们无论多少次复制,队列都不会增长。
# 打开剪贴板
w.OpenClipboard()
# 清空剪贴板
w.EmptyClipboard()
# # 设置剪贴板内容
w.SetClipboardData(win32con.CF_UNICODETEXT, "bbb")
while True:
# 获取剪贴板内容
data = w.GetClipboardData()
print(data)
time.sleep(1.5) # 延缓进程
运行后不管什么时候你用Ctrl+C复制了一下,虽然系统的剪贴板已经改变(如下图),但是程序中的得到的剪贴板的内容任然是之前设置的,似乎这两个剪贴板不完全关联在一起。
import win32clipboard as w
# 关闭剪贴板
w.CloseClipboard()
关闭以后就不能操作例如:
print(w.GetClipboardData()) #(1418, 'GetClipboardData', '线程没有打开的剪贴板。')
但是任然可以这样
# 把剪切板内容粘贴到qq窗口
win32gui.SendMessage(QMagHandle, win32con.WM_PASTE, 0, 0)
剪贴板关闭以后。。。
这个红色的可以不用管,可能是内部实现方式比较特殊,所以PyCahrm认为不存在这个模块,但是是可以正常使用的,我就不知道一直去查为什么
爆破代码
pip install pywin32 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
import win32gui
import win32con
import win32clipboard as w
import time
def 爆破PS学姐(QMagHandle):
# 把剪切板内容粘贴到qq窗口
win32gui.SendMessage(QMagHandle, win32con.WM_PASTE, 0, 0)
# 按下后松开回车键,发送消息
win32gui.SendMessage(QMagHandle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
win32gui.SendMessage(QMagHandle, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
def InitMsg(msg):
# 打开剪贴板
w.OpenClipboard()
# 清空剪贴板
w.EmptyClipboard()
# 设置剪贴板内容
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
# 关闭剪贴板
w.CloseClipboard()
#返回值为对应QQ消息窗口的handle,参数为QQ消息窗口的名字
def 初始化QQ窗口(QWinName):
# 获取qq窗口句柄,腾讯聊天窗口类名'TXGuiFoundation',不过没有重名的可以不写
QMagHandle = win32gui.FindWindow(None, name)
if QMagHandle == 0:
raise Exception('未找到窗口!')
else:
# 显示窗口
win32gui.ShowWindow(QMagHandle, win32con.SW_SHOW)
return QMagHandle
if __name__ == '__main__':
name = '' # QQ聊天窗口的名字
msg = ""
f = 1 #发消息的频率,默认1 sec
InitMsg(msg)
try:
QMagHandle = 初始化QQ窗口(name)
while True:
爆破PS学姐(QMagHandle)
time.sleep(f) # 延缓进程
except Exception as e:
print(e)
附赠一些找到的有用的资料:
如果你想不用剪贴板直接通过win32gui.SendMessage()
发送消息,参考:windows下用python3通过win32api往记事本里写入字符串windows下用python3通过win32api往记事本里写入字符串
Python笔记之通过PyWin32模块实现在QQ聊天窗口自动发送消息
Win32消息处理API—PostMessage