通过 Python Win32 UI 自动化,在已登录的微信桌面客户端中向指定联系人发送文字、图片、视频、任意文件。
满足以下任意一条即触发本技能:
> ⚠️ 收到指令后直接执行,无需再次确认。
| 类型 | 说明 | 参数 |
|---|---|---|
| ------ | ------ | ------ |
| 文字 | 纯文本消息 | 直接传消息内容 |
| 图片 | jpg/png/bmp/gif/webp | --image <路径> |
| 文件 | zip/xlsx/docx/pdf 等任意文件 | --file <路径> |
| 视频 | mp4/mov/avi 等视频文件 | --file <路径>(与文件相同) |
Python 解释器:python(系统 Python,所有依赖已就绪)
> 以下命令中 wechat_send.py 位于本技能目录下,WorkBuddy 会自动解析路径。
发文字:
python "<技能目录>/wechat_send.py" "<联系人>" "<消息内容>"
发图片:
python "<技能目录>/wechat_send.py" "<联系人>" "" --image "<图片路径>"
发图片+说明文字:
python "<技能目录>/wechat_send.py" "<联系人>" "<说明文字>" --image "<图片路径>"
发文件(zip/xlsx/docx/pdf等):
python "<技能目录>/wechat_send.py" "<联系人>" "" --file "<文件路径>"
发视频(mp4/mov等):
python "<技能目录>/wechat_send.py" "<联系人>" "" --file "<视频路径>"
消息含特殊字符(从文件读取):
python "<技能目录>/wechat_send.py" "<联系人>" "" --msgfile <临时文件路径>
调试模式(截图保存到桌面):
python "<技能目录>/wechat_send.py" "<联系人>" "<消息>" --screenshot
Ctrl+Alt+W 热键唤醒;若窗口在托盘(坐标-32000),自动 SW_RESTORE 强制还原ShowWindow(SW_MAXIMIZE),等待渲染稳定pyperclip.copy() + Ctrl+VSetImage + Ctrl+VSetFileDropList + Ctrl+V[OK] 完成 → 执行成功,内容已发出[失败] 未找到微信窗口 → 微信未启动或未登录[FAIL] 失败 → 其他执行错误Ctrl+Alt+W 热键(微信自注册) + 失败时 SW_RESTORE 兜底,均等待坐标恢复后再继续System.Drawing.Image + Clipboard.SetImage,支持 jpg/png/bmp/gifStringCollection + Clipboard.SetFileDropList,支持任意文件类型.wechat_hwnd_cache,重启微信后自动刷新python 命令可用)pyautogui、pywin32、pyperclip、Pillow(opencv-python/numpy 可选,仅用于截图调试)安装依赖:
pip install pyautogui pywin32 pyperclip Pillow
| 现象 | 原因 | 解决 |
|---|---|---|
| ------ | ------ | ------ |
未找到微信窗口 | 微信未运行或未登录 | 启动微信并登录后重试 |
| 坐标循环卡在 -32000 | 热键被占用 / 微信版本不支持 | 已自动 SW_RESTORE 兜底 |
| 消息发到了错误的人 | 搜索匹配到其他联系人或群聊 | 使用完整姓名,加 --screenshot 调试 |
| 文件发送后未出现预览 | 微信版本限制或文件过大 | 确认文件大小,查看微信是否弹出确认框 |
| 视频发送后提示格式不支持 | 微信不支持该视频编码 | 转码为 H.264 mp4 后重试 |
共 1 个版本