当前位置: 首页 > news >正文

AI: 如何在windows/android上使用无障碍功能保存微信群图片

以下是两条路的完整拆解,均不需要降级微信


🖥️ 路线 A:Windows — pywinauto (UIA Accessibility)

原理:通过 Python + pywinauto 库(backend='uia')连接微信进程,实现对界面元素的自动化操作,用 Windows UI Automation 监听聊天区图片元素,右键→另存为。

来源

  • pywinauto 官方文档:https://pywinauto.readthedocs.io
  • CSDN 实战参考(2025-02-07):https://blog.csdn.net/weixin_44634704/article/details/135006170

完整脚本

# 安装依赖
# pip install pywinauto pywin32 psutilimport time, os, psutil
from pywinauto.application import Application
import uiautomation as uia  # pip install uiautomationSAVE_DIR = r"C:\WechatGroupPics"
GROUP_NAME = "你的群名称"
os.makedirs(SAVE_DIR, exist_ok=True)def get_wechat_pid():for p in psutil.process_iter(['pid','name']):if p.info['name'] == 'WeChat.exe':return p.info['pid']def connect_wechat():pid = get_wechat_pid()app = Application(backend='uia').connect(process=pid)return app.window(class_name='WeChatMainWndForPC')def open_group(win, group_name):# 搜索群win.Edit.set_text(group_name)time.sleep(1)win.ListItem.click()time.sleep(1)def save_all_images(win):# 遍历聊天区所有图片控件chat_area = win.child_window(control_type='List')items = chat_area.children(control_type='ListItem')count = 0for item in items:imgs = item.descendants(control_type='Image')for img in imgs:try:img.right_click_input()time.sleep(0.3)# 点「另存为」menu = uia.MenuControl(searchDepth=2)for m in menu.GetChildren():if '另存' in (m.Name or ''):m.Click()time.sleep(0.5)# 自动填路径并确认dlg = uia.WindowControl(Name='另存为')dlg.EditControl().SetValue(os.path.join(SAVE_DIR, f"img_{count}.jpg"))dlg.ButtonControl(Name='保存').Click()count += 1time.sleep(0.3)except:passprint(f"共保存 {count} 张")win = connect_wechat()
open_group(win, GROUP_NAME)
save_all_images(win)

已有的 MCP 封装(可直接接 Claude Desktop)

WinAutoWx@pmhw/WinAutoWx)是基于 Python + pywinauto 的 MCP server,支持 Windows 微信自动化操作,包括搜索好友/群、发消息,可通过 HTTP API 或 MCP 协议调用。

  • Glama 页面:https://glama.ai/mcp/servers/@pmhw/WinAutoWx
  • 缺点:目前没有内置图片保存工具,但可 fork 后加 save_images 工具

📱 路线 B:Android — ADB + wechat-dump(需 Root)

原理:微信在 Android 上把图片存在 /data/data/com.tencent.mm/MicroMsg/${userid}/image2/,通过 ADB 直接拉取。

来源ppwwyyxx/wechat-dump → https://github.com/ppwwyyxx/wechat-dump
该工具最后验证时间为 2025/01/01,需要 ADB + Root 的 Android 设备,拉取 /data/data/com.tencent.mm/MicroMsg/${userid}/image2 目录即可获得所有图片资源。

# Windows PowerShell 执行
# 1. 确认设备已 root 并连接
adb devices# 2. 拉取整个 image2 目录(替换 ${userid} 为你的32位hex用户ID)
adb pull /data/data/com.tencent.mm/MicroMsg/${userid}/image2 C:\WechatGroupPics# 3. 图片是 .dat 加密格式,用 wechat-dump 解码
git clone https://github.com/ppwwyyxx/wechat-dump
cd wechat-dump
pip install -r requirements.txt
python ./android-interact.sh db

📱 路线 C:Android — UIAutomator(不需要 Root

原理:通过 adb shell uiautomator 模拟用户点击,遍历群聊图片并长按→保存。

# 推滚动群聊,长按图片,点保存到相册
adb shell uiautomator runtest /path/to/SaveImages.jar -c com.example.SaveImages

或用 Python 的 uiautomator2(更简单):

pip install uiautomator2
python -m uiautomator2 init   # 首次在设备上安装 agent
import uiautomator2 as u2, timed = u2.connect()  # 连接手机# 打开群聊(假设已在群聊界面)
# 向上滚动找图片并保存
while True:imgs = d(resourceId="com.tencent.mm:id/b4o")  # 图片控件ID(需用 uiautomator2 inspector 确认)for img in imgs:img.long_click()time.sleep(0.5)d(text="保存").click()time.sleep(0.3)d.swipe_ext("up", scale=0.8)  # 继续上滑加载更多time.sleep(1)
  • 官方文档:https://github.com/openatx/uiautomator2

方案对比

方案 是否需要降级 是否需要Root 稳定性
Windows pywinauto (UIA) ❌ 不需要 中(UI变化会失效)
Android wechat-dump + ADB ❌ 不需要 ✅ 需要
Android uiautomator2 ❌ 不需要 ❌ 不需要

最推荐:Windows 用 pywinauto,Android 无 root 用 uiautomator2。

http://www.jsqmd.com/news/527741/

相关文章:

  • Duix.Avatar全栈部署指南:从技术架构到行业落地的完整实践
  • 别再乱用BPMN网关了!用这4个真实业务场景,手把手教你选对Gateway
  • 【Vuejs】 Vue3 中这样使用 Icon 更优雅
  • 瑞祥黑金卡回收流程持续简化,2026年卡券变现观察 - 京回收小程序
  • 5大核心功能让猫抓视频嗅探工具成为网页资源获取专家
  • Ubuntu源硬盘挂载到本地计算机更新源
  • P11172 「CMOI R1」mex2
  • 空心杯电机厂家如何选不踩坑?2026年靠谱推荐自动化设备快响应高精度型号 - 十大品牌推荐
  • FastJson漏洞实战:手把手教你用JNDI反弹Shell(附完整工具链)
  • Live Avatar数字人模型入门指南:4步搞定虚拟人物视频生成
  • (2/3)Qt Creater 测试项目工程调用(.so/.a)—— 创建 QT 库文件(.so) or(.a)
  • 手把手教你用USB_FD工具刷写IKBC Poker固件(含避坑指南)
  • 2026年彩色便道砖厂家推荐:公园/市政/小区工程用水泥便道砖及陶瓷便道砖专业供应商选型指南 - 品牌推荐官
  • 自封装|数据导出组件,表格数据导出为excel文件,可实现导表头替换,自适应单元格宽度(个人学习记录)
  • ncmdump终极指南:3分钟掌握网易云音乐NCM格式快速转换技巧
  • 避坑指南:华为HCIA考试中最容易混淆的5个网络概念(含MAC地址查询技巧)
  • 突破阅读边界:Tomato-Novel-Downloader打造无缝离线阅读体验
  • 2026年3月花岗岩石材厂家最新推荐:蒙古黑花岗岩、芝麻黑火烧板、中国黑石材、黄金麻板材、路沿石厂家选择指南 - 海棠依旧大
  • LoRA微调终极指南:如何用闻达提升知识库回答准确性
  • Qwen3最新模型YOLOv11联动实践:视频物体追踪与动态字幕生成
  • 2026年空心杯电机厂家推荐:机器人灵巧手与自动化设备高精度动力源头选择 - 十大品牌推荐
  • JavaScript实现丹青识画实时影像上传与预览功能
  • 从面试复盘到蜕变:测试工程师如何赢得心仪Offer?
  • AlienFX-Tools 完整指南:开源硬件控制解决方案深度解析
  • 猫抓视频嗅探工具:三秒破解网页视频下载难题
  • 算法 正则表达式 异常
  • Windows驱动管理终极指南:Driver Store Explorer帮你彻底清理系统垃圾
  • 2026年江苏探伤机配件厂家盘点,好用的品牌有哪些 - 工业设备
  • NFS vs CIFS终极对比:Linux系统管理员该选哪个?附性能测试数据
  • Papermill与Docker集成:5个步骤构建容器化Notebook执行环境终极指南