通过 pywinauto 自动化操作微信 Windows 桌面端,实现消息/图片/文件的自动发送。
本 Skill 完全开源,源代码公开。
pywinauto, pyperclip, pillow, pywin32
pip install pywinauto pyperclip pillow pywin32
默认路径:D:\Tencent\WeChat\WeChat.exe
用户实际安装路径可能为 D:\Tencent\WeiXin\WeiXin.exe(注意拼写是 WeiXin 不是 WeChat)。
修改脚本第 33 行 WECHAT_PATH 变量即可适配你的安装路径。
# 发送文本
python scripts/wechat_send.py --contact "微光浮影" --message "你好,这是自动发送的消息"
# 从文件读取长文本发送
python scripts/wechat_send.py --contact "微光浮影" --message-file "report.txt"
# 发送图片
python scripts/wechat_send.py --contact "微光浮影" --image "C:\path\to\image.png"
# 发送文件
python scripts/wechat_send.py --contact "微光浮影" --file "C:\path\to\file.pdf"
# 仅启动微信
python scripts/wechat_send.py --launch-only
其他 Skill 可以通过以下方式调用本 Skill 发送消息:
import subprocess
subprocess.run([
"python",
"scripts/wechat_send.py",
"--contact", "微光浮影",
"--message", "消息内容"
])
使用 pywinauto 的 uia 后端连接微信窗口,窗口标题必须为"微信"(不是 "WeChat")。
app = Application(backend='uia').connect(title_re="微信", timeout=10)
window = app.window(title_re="微信")
所有文本输入均通过 剪贴板 + Ctrl+V 实现,避免 pywinauto 直接键入中文的编码问题。
pyperclip.copy(text)
send_keys("^v") # Ctrl+V 粘贴
将图片转为 BMP 格式(去掉文件头 14 字节,取 DIB 数据),直接写入 Windows 剪贴板 CF_DIB 格式,在聊天框 Ctrl+V 粘贴即发送。
# 详见 scripts/wechat_send.py send_image() 函数
win32clipboard.SetClipboardData(win32con.CF_DIB, data)
Enter 键(微信默认设置)
Ctrl+F
Ctrl+Alt+F
wechat-desktop/
├── SKILL.md # Skill 定义文件(本文件)
├── scripts/
│ └── wechat_send.py # 核心自动化脚本(完整源码见下方)
├── LICENSE # MIT 开源协议
└── README.md # 说明文档
scripts/wechat_send.py
> 完整源码已随 Skill 打包,路径:scripts/wechat_send.py
(源码内容较长,见 scripts/wechat_send.py 文件)
SkillHub 评论区:https://skillhub.cn/skills/wechat-desktop-claw-automatic-control
共 3 个版本