微信消息发送 v2.1
通过 Windows 微信桌面端的 UI 自动化,向指定联系人或群聊发送文本消息。
简介
本技能通过 Windows 微信桌面端的 UI 自动化,向指定联系人或群聊发送文本消息。使用 uiautomation 库直接键盘输入,不依赖剪贴板粘贴,避免剪贴板冲突。自动兼容微信 2.x/3.x/4.x 各版本窗口类名,无需手动配置。
原理
- 通过
win32gui.EnumWindows查找微信窗口句柄(兼容微信 2.x/3.x/4.x 多个版本) - 强制
SW_RESTORE恢复窗口并激活到前台(解决窗口最小化到托盘的问题) - 使用
uiautomation的SendKeys()直接模拟键盘输入联系人名称和消息内容 - 按 Enter 键发送消息
使用方法
从对话中调用
直接告诉助手要发给谁、发什么内容,助手会自动执行。例如:
- "给张三发微信:晚上好"
- "给项目群发消息:今晚聚餐,别迟到"
- "通过微信给李四发:示例内容"
- "发微信给王老师:明天上课带教材"
从命令行调用
# 用法 1:直接发送消息
python scripts/wechat_send.py --contact "张三" --message "你好"
# 用法 2:从文件读取消息内容(适合长消息)
python scripts/wechat_send.py --contact "张三" --message-file "msg.txt"
# 用法 3:群聊发送
python scripts/wechat_send.py --contact "项目群" --message "今晚聚餐,记得准时到"
从 Python 代码调用
import sys
sys.path.insert(0, 'scripts')
from wechat_send import send_message
send_message("张三", "你好,这是自动化发送的消息")
文件结构
<skill_dir>/
├── SKILL.md # 本文件
└── scripts/
└── wechat_send.py # 主脚本
依赖安装
首次使用前确保已安装 uiautomation 库:
pip install uiautomation
uiautomation 已自带 pywin32 依赖,无需额外安装。
前置条件
- Windows 操作系统
- 微信桌面端已安装且处于登录状态
- 微信窗口可见(脚本会自动恢复最小化到托盘的窗口,但窗口不能完全关闭)
注意事项
- 联系人名称匹配:搜索时会匹配第一个结果,如有重名请注意选择
- 特殊字符:消息内容仅支持文本,不支持 emoji 和图片;含特殊按键字符(如
{}^~())的内容需要转义 - 发送延迟:脚本内部有多个延时等待(总计约 6-8 秒),请耐心等候不要干扰微信窗口
- 群聊名称:群聊名称须与微信联系人列表中显示的名称完全一致
- 只支持文本消息:目前版本仅能发送纯文本,不支持文件、图片、语音等
- 多实例兼容:脚本自动检测微信 2.x/3.x/4.x 版本的窗口类名,无需手动配置