1、立项背景和目标
旨在解决传统自动化工具(如基于坐标录制或元素监听)易用性差、适应性低的问题。目标是打造一款“所见即可录,所录即可点”的创新桌面自动化助手,让任何屏幕上的重复操作都能被非技术人员轻松自动化。
2、软件功能、核心功能模块的介绍
核心功能模块包括:
录制模块:通过按键操作,直观录制屏幕上的识别区域与目标点击位置。
识别引擎:综合匹配窗口标题、区域坐标及像素数据,确保识别精准性。
脚本执行器:提供多级别识别模式,适应从保守前台点击到强制窗口激活的各种复杂场景。
脚本管理模块:支持脚本条目的添加和一键撤回。
3、业务流程、功能路径描述
用户启动工具并完成配置后:
悬停:将鼠标移动到需要识别的屏幕控件上。
录制识别区:按住录制键,此时鼠标下方的区域被记录为“识别区”。
录制点击点:将鼠标移动到目标点击位置。
完成录制:释放录制键,该位置被记录为“点击点”。一个脚本条目即被添加到列表中。
自动执行:工具持续运行,当识别条件满足时,自动执行点击操作。
1、整体架构和设计思路,不同模块使用的技术栈
项目采用“录制-识别-点击”的核心流程。整体架构围绕状态触发机制设计,区别于传统的顺序执行工具。通过窗口图色识别技术作为核心技术栈,确保操作的准确性与环境适应性。
2、“我”的负责模块和结果
负责设计和实现了整个工具的“状态触发”核心逻辑,即“看见才点”,而非“到点就点”。
设计并实现了多级别(0-3级)脚本执行器识别级别,为用户提供了从高效到高兼容性的多种执行策略。
引入了“允许误差”(0-255)的容错控制机制,有效应对画面闪烁、字体抗锯齿等微小变化,提升了工具的鲁棒性。
实现了操作可逆的一键撤回功能,改善了脚本录制的用户体验。
3、“我”遇到的难点、坑,和解决方案
难点1:鼠标悬停导致控件状态变化
问题:录制时鼠标悬停可能导致控件高亮或变色,录制下的是非常态图色,导致后续识别失败。
解决方案:在录制流程中明确提示用户:“为防止鼠标悬停导致控件变色,可在按住按键后暂时移开鼠标”。
难点2:后台点击的局限性
问题:识别级别2(后台识别与点击)在某些程序(尤其是带反作弊系统的游戏或高权限应用)上无效。
解决方案:在设计和文档中明确说明这是系统机制限制,并提供了级别3(强制前台)作为替代方案,同时告知用户不同级别的适用场景。
难点3:流程化操作的逻辑冲突
问题:点击A窗口按钮打开B窗口后,工具因A窗口图色未变而持续点击A按钮。
解决方案:在文档中明确解释这是图色识别工具的固有特性,并指导用户通过录制会变化的图色区域或使用前台识别模式(0,1级)来规避此问题。