python实现QQ聊天自动化

下面的代码可以实现QQ自动发消息,分为文本和图片两种:

import win32gui
import win32con
import win32clipboard as clipboard
import time
from PIL import Image
from io import BytesIO
def Send(name, msg):
    # 打开剪贴板
    clipboard.OpenClipboard()
    # 清空剪贴板
    clipboard.EmptyClipboard()
    # 设置剪贴板内容
    clipboard.SetClipboardData(win32con.CF_UNICODETEXT, msg)
    # 获取剪贴板内容
    #date = clipboard.GetClipboardData()
    # 关闭剪贴板
    clipboard.CloseClipboard()
    # 获取qq窗口句柄
    handle = win32gui.FindWindow(None, name)
    if handle == 0:
        print('未找到窗口!')
    # 显示窗口
    #win32gui.ShowWindow(handle, win32con.SW_SHOW)
    # 把剪切板内容粘贴到qq窗口
    win32gui.SendMessage(handle, win32con.WM_PASTE, 0, 0)
    # 按下后松开回车键,发送消息
    win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
    win32gui.SendMessage(handle, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
    time.sleep(1)
def Send_Image(name,path):
    img = Image.open(path)
    output = BytesIO()
    img.convert("RGB").save(output, "BMP")
    data = output.getvalue()[14:]
    output.close()
    # 打开剪贴板
    clipboard.OpenClipboard()
    # 清空剪贴板
    clipboard.EmptyClipboard()
    clipboard.SetClipboardData(win32con.CF_DIB, data)  #将图片放入剪贴板
    # 获取qq窗口句柄
    handle = win32gui.FindWindow(None, name)
    if handle == 0:
        print("未找到窗口")
    #关闭剪切板
    clipboard.CloseClipboard()
    # 把剪切板内容粘贴到qq窗口
    win32gui.SendMessage(handle, win32con.WM_PASTE, 0, 0)
    # 按下后松开回车键,发送消息
    win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
    win32gui.SendMessage(handle, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
    time.sleep(1)
if __name__ == "__main__":
    name = "如来"
    for i in range(10):
        Send(name,"bear冲冲冲,你最帅")
    path = "bear.jpg"
    Send_Image(name,path)


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值