当前位置:首页 >> 脚本专栏

Python之qq自动发消息的示例代码

准备:pip install win32gui

可能遇到的麻烦:

No module named ‘win32gui‘ 的解决方法(踩坑之旅)

源码:

import win32gui
import win32con
import win32clipboard as w
import time


def send(name, msg):
  # 打开剪贴板
  w.OpenClipboard()
  # 清空剪贴板
  w.EmptyClipboard()
  # 设置剪贴板内容
  w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
  # 获取剪贴板内容
  date = w.GetClipboardData()
  # 关闭剪贴板
  w.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 main():
  name = '***' # QQ聊天窗口的名字
  print('开始')
  for i in range(1, 20):
    send(name, '第' + str(i) + '次测试')
    send(name,'哼哼哼')
  print('结束')
main()

运行截图:

Python之qq自动发消息的示例代码

食用指南:

要先打开聊天窗口噢,而且窗口要单开!否则:

Python之qq自动发消息的示例代码

严正声明:

for i in range(1, 20):
    send(name, '第' + str(i) + '次测试')
    send(name,'哼哼哼')

在这里修改循环次数和发送内容,注意循环不要太大哦!否则被打了被拉黑了,本银概不负责。