1.立项背景和目标
日常办公、游戏操作中存在大量重复鼠标点击、滑动、输入操作,手动反复操作耗时费力,且长时间重复操作易造成手部疲劳。本鼠标宏自动化工具以Python为基础开发,目标是实现鼠标动作录制、自定义脚本编辑、图像识别触发自动化流程,无需人工持续值守,一键批量执行重复操作,大幅降低人工操作成本,兼容Windows全版本系统。
2.软件核心功能模块介绍
1. 动作录制模块:实时捕获鼠标坐标、左键/右键单击、长按、滚轮滑动等全部鼠标行为,自动生成可编辑脚本;
2. 图像识别找图模块:基于OpenCV图像匹配算法,支持自定义相似度阈值,识别到指定截图后自动触发预设鼠标操作,适配各类界面触发场景;
3. 脚本编辑管理模块:可视化编辑录制生成的宏脚本,可自定义动作延迟、循环执行次数、条件判断分支,支持新建、保存、导入、删除多套宏方案;
4. 窗口适配模块:适配Windows不同DPI缩放屏幕,有自适应功能,解决高分屏坐标偏移问题,支持绑定指定程序窗口运行宏,避免误操作桌面;
5. 一键启动热键模块:自定义全局快捷键,后台静默运行宏程序,最小化托盘不占用前台界面。
3.业务流程与功能路径
用户打开软件后,可选择两种使用流程:①录制模式:点击录制按钮,手动完成全套鼠标操作,录制结束后进入脚本编辑器微调延迟与循环规则,保存方案后设置启动热键;②自定义脚本模式:直接导入目标识别图片,手动拖拽添加点击、滑动等动作,设置图像识别触发逻辑,保存方案。完成配置后,按下自定义全局热键即可后台执行整套鼠标宏,执行过程中可随时按终止热键停止程序。
1.整体架构、设计思路与技术栈
整体采用分层模块化架构,分为界面交互层、底层控制层、图像识别层、脚本存储层,模块完全解耦,单一功能修改不会影响整体程序运行。
技术栈:
- 界面GUI:Python PyQt6,搭建可视化操作窗口,适配Windows高DPI;
- 鼠标底层控制:pyautogui、ctypes调用Windows系统API,精准捕获、模拟鼠标硬件动作;
- 图像识别:OpenCV、numpy实现模板匹配找图,支持相似度自定义;
- 脚本存储:本地JSON文件存储多套宏配置,持久化保存用户录制方案;
- 系统适配:ctypes修复Windows高分屏DPI坐标偏移问题。
2.本人负责模块与量化成果
项目全部模块由本人独立开发实现:
1. 独立完成PyQt6可视化界面搭建,实现录制、编辑、图像上传全可视化交互,界面兼容100%-150%屏幕缩放,解决90%高分屏坐标偏移报错;
2. 开发鼠标录制与模拟底层模块,支持全部鼠标动作捕获,模拟点击误差控制在10ms以内;
3. 基于OpenCV封装图像识别工具,最低相似度可调至0.3,识别成功率提升85%,支持多图片多分支触发逻辑;
4. 开发脚本存储、热键监听、托盘后台运行功能,单程序可同时保存20套以上独立宏脚本;
5. 完成程序打包优化,使用PyInstaller打包为独立exe,无需用户配置Python环境,一键打开即可使用。