佛系程序员
首页
栏目
标签
归档
关于
友链
佛系程序员
首页
栏目
标签
归档
友链
关于
Windows 平台下应用微信PC客户端自动化的一些库
学习笔记
网站开发
发布日期: 2026-06-10 14:50:26
喜欢量: 7 个
阅读次数:
58
先一句话总结: - **pywin32**:Python 调用 Windows 原生 API 的底层库(操作窗口、注册表、剪贴板等)。 - **wxauto**:基于 pywin32/UIAutomation 封装的**微信PC客户端自动化库**,用来自动发消息、收消息、控窗口。 下面分开讲清楚。 --- ## 一、pywin32 是什么库? **pywin32 = Python for Windows Extensions**,是 Windows 平台下的**系统级底层库**。 ### 能干什么 让 Python 直接调用 Windows 的原生 API,实现: - 窗口管理:查找窗口、置顶、最小化、关闭、获取句柄(`win32gui`) - 注册表读写:增删改查注册表项(`win32api`) - 剪贴板操作:复制、粘贴文本/图片(`win32clipboard`) - 进程/服务管理:启动、关闭进程,查进程信息 - 模拟键盘鼠标、弹窗、系统信息获取等 ### 常用子模块 ```python import win32api # 基础系统API import win32gui # 窗口/控件操作(最常用) import win32con # Windows常量(按钮、消息码等) import win32clipboard # 剪贴板 ``` ### 安装 ```bash pip install pywin32 ``` --- ## 二、wxauto 是什么库? **wxauto = WeChat Automation**,是**第三方开源、基于 pywin32/UIA 的微信PC客户端自动化库**。 ### 核心特点 - **只支持 Windows 微信客户端(PC版)**,不支持网页版/手机版 - **不逆向协议、不破解微信**,本质是:用代码模拟“人操作鼠标键盘” - 底层依赖:**pywin32 + uiautomation** ### 主要功能 - 自动发送文字、图片、文件、表情 - 接收消息、监听新消息、获取聊天记录 - 查找好友/群、打开聊天窗口 - 控制微信窗口(置顶、隐藏、关闭) - 多开微信、自动登录(部分版本支持) ### 简单示例 ```python from wxauto import WeChat wx = WeChat() wx.AddListenChat(who="文件传输助手") # 监听对象 wx.SendMsg("Hello wxauto!", "文件传输助手") ``` ### 安装 ```bash pip install wxauto ``` (会自动依赖安装 pywin32、uiautomation) --- ## 三、两者关系(一句话) - **pywin32**:底层工具,负责和 Windows 系统打交道(窗口、注册表、剪贴板)。 - **wxauto**:上层封装,专门用 pywin32 去**操控微信窗口和控件**,实现自动化。 ### 类比 - pywin32 = 螺丝刀、扳手(通用工具) - wxauto = 专门拧“微信”这颗螺丝的定制工具 --- ## 四、和你刚才问的“微信注册表”有什么联系? - **pywin32** 可以直接读写微信注册表(`HKEY_CURRENT_USER\Software\Tencent\WeChat`) - **wxauto** 内部也会用 pywin32: - 读注册表找微信安装路径 - 查找微信窗口句柄 - 控制窗口、发消息 --- 要不要我给你一个最小示例:用 pywin32 读取微信注册表 + 用 wxauto 自动发一条消息? 逐个讲解库作用、安装、核心用法、平台特性,精简实用版。 # 1. edge-tts **作用**:调用微软 Edge 在线语音合成(文字转语音 TTS),免费、音色多、跨平台。 - 特点:无需本地模型,联网使用,支持中英文、调整语速/音量/音色。 - 平台:Windows / macOS / Linux 全平台 - 安装 ```bash pip install edge-tts ``` - 极简示例 ```python import edge_tts async def tts(): communicate = edge_tts.Communicate("你好,这是语音合成", voice="zh-CN-XiaoxiaoNeural") await communicate.save("voice.mp3") import asyncio asyncio.run(tts()) ``` --- # 2. Pillow **作用**:Python 主流**图像处理库**(PIL 升级版),图片打开、裁剪、缩放、加水印、格式转换、像素操作。 - 平台:全平台 - 安装 ```bash pip install pillow ``` - 极简示例 ```python from PIL import Image img = Image.open("test.jpg") img.resize((200, 200)).save("new.jpg") ``` --- # 3. pyperclip **作用**:**跨平台剪贴板**读写,纯文本复制/粘贴。 - 平台:Windows / macOS / Linux 通用 - 安装 ```bash pip install pyperclip ``` - 极简示例 ```python import pyperclip pyperclip.copy("复制到剪贴板") # 复制 text = pyperclip.paste() # 粘贴 print(text) ``` --- # 4. pygetwindow **作用**:**获取、管理系统窗口**,查窗口标题、句柄、激活、最小化、关闭窗口。 - 侧重:窗口检索(比 pywin32 更简洁) - 平台:**主要 Windows**,其他平台支持有限 - 安装 ```bash pip install pygetwindow ``` - 极简示例 ```python import pygetwindow as gw # 获取所有窗口标题 titles = gw.getAllTitles() print(titles) # 激活微信窗口 win = gw.getWindowsWithTitle("微信")[0] win.activate() ``` --- # 5. pyautogui **作用**:**跨平台键鼠自动化 + 屏幕截图**,模拟鼠标点击、移动、键盘输入、截图、找图。 - 用途:自动化脚本、简单游戏辅助、界面操作 - 平台:全平台 - 安装 ```bash pip install pyautogui ``` - 极简示例 ```python import pyautogui pyautogui.click(100, 100) # 点击坐标 pyautogui.typewrite("Hello") # 打字 pyautogui.screenshot("screen.png") # 截图 ``` --- # 6. pygame **作用**:**2D 游戏/多媒体开发库**,绘图、音效、音乐、键鼠事件、窗口渲染。 - 用途:小游戏、动画、播放器、交互式界面 - 平台:全平台 - 安装 ```bash pip install pygame ``` - 极简示例(弹出窗口) ```python import pygame pygame.init() screen = pygame.display.set_mode((400, 300)) pygame.display.set_caption("Pygame Demo") ``` --- # 7. numpy **作用**:Python **数值计算核心库**,多维数组、矩阵运算、数学计算、科学计算基础。 - 几乎所有数据分析、AI、图像处理、科学计算都依赖它 - 平台:全平台 - 安装 ```bash pip install numpy ``` - 极简示例 ```python import numpy as np arr = np.array([1,2,3]) print(arr * 2) ``` --- ## 补充:分组&搭配场景 1. **键鼠/窗口自动化组合** `pygetwindow + pyautogui + pyperclip` → 桌面全流程自动化 2. **音视频/多媒体** `edge-tts + pygame` → 语音播报 + 音频播放 3. **图像+计算** `Pillow + numpy` → 图像处理、像素运算 4. 结合你之前的 `wxauto/pywin32`: 可实现 **微信自动化 + 截图 + 剪贴板 + 语音播报** 整套脚本。 ## 平台小结 - **全平台通用**:edge-tts、Pillow、pyperclip、pyautogui、pygame、numpy - **偏向 Windows**:pygetwindow(Linux/macOS 功能阉割)
文章作者:
admin
文章链接:
https://www.amtb.info/show/NDI0
版权声明:
本博客所有文章除特別声明外,转载请注明来源
佛系程序员
!
分享:
搜索