本文基于金手指项目当前可见的 Windows 窗口选择、截图识别、任务状态与日志结构撰写。产品适配对象统一写作“梦幻西游手游时空客户端”。文中图片是流程示意,不冒充真实软件界面;关键判断仍需结合当前版本代码、真实窗口和日志字段。

这篇文章解决什么问题

当任务出现停顿或重复动作时,按时间线阅读日志比只看最后一行更有效。本文给出从截图采集到结果确认的四段式记录方法。桌面自动化的排查重点不是把某个按钮坐标写死,而是确认输入证据、判断条件、动作结果是否属于同一窗口、同一阶段和同一组参数。下面按可回看的顺序拆开说明。

运行前先建立边界

开始任务前,先记录程序版本、目标窗口标题、窗口外框矩形、客户区矩形、显示器布局和当前任务阶段。窗口标题只能作为初筛,不能替代客户区判断;文件存在也不能替代尺寸、颜色格式和版本检查。若目标窗口没有出现,应记录“未找到窗口”并停在观察阶段,不要把上一轮坐标当成本轮输入。对于梦幻西游手游时空客户端相关流程,还要把窗口句柄、截图时间、任务阶段和素材版本放在同一条上下文里。

四层证据记录法

第一层是采集:保存截图时间、分辨率、颜色通道、裁剪区域和窗口矩形。第二层是判断:记录候选位置、匹配分数、阈值、过滤规则以及是否保留其他候选。第三层是动作:记录逻辑坐标、换算后的屏幕坐标、动作前窗口状态和输入是否释放。第四层是结果:重新获取画面,确认按钮消失、提示出现、阶段字段变化或任务面板进入下一状态。任何一层缺失,后续都可能把资源问题误判成点击问题。

本主题的检查重点

当任务出现停顿或重复动作时,按时间线阅读日志比只看最后一行更有效。本文给出从截图采集到结果确认的四段式记录方法。实际处理时,先保存未经裁剪的原始证据,再生成用于匹配的区域。每次只改一个变量,例如只调整搜索区域、只调整缩放比例或只调整阈值,并在日志写下修改前后的值。若画面、窗口位置和匹配分数同时变化,优先回到同帧截图比较,而不是凭感觉连续调参。

对于短时状态,反复扫描可能擦掉机会窗口,因此应当一次采集、同帧比较,并在第一处可靠命中后立刻进入结果复核。对于多窗口任务,每个窗口都要有独立状态,不能因为一个窗口完成就推断其他窗口也完成。

异常与停止处理

遇到空截图、候选为空、分数突然变化、点击后画面不变或窗口突然移动时,先回到观察状态,保存当前窗口矩形、截图路径、候选数据和最近一条日志,再决定重新选择窗口、重新采集、重新加载素材还是结束阶段。重试应有次数和条件边界;同一画面没有变化时,不要无限重复同一个动作。停止任务时释放鼠标、键盘和线程资源,并写入明确的结束原因,方便下一次启动从已知状态开始。

复核清单

发布或实际运行前,按以下顺序核对:名称和适配对象是否统一;目标窗口是否来自当前画面;外框与客户区是否区分;截图、模板和日志是否使用同一编码;候选、分数、坐标和动作结果是否可回看;异常时是否有返回观察状态的路径;停止控制是否仍可用;关键结论是否同时用文字说明,而不是只放在图片里。

Windows 自动化日志怎么看:用采集、判断、动作、结果还原一次运行
Windows 自动化日志怎么看:用采集、判断、动作、结果还原一次运行

这套记录方法把一次运行变成可复核的过程:先确认输入,再做判断,动作后验证外部变化,异常时回到已知状态。它不承诺固定结果,也不替代对具体版本和真实画面的检查;当代码、窗口布局或素材发生变化时,应重新采集证据并更新记录。