本文基于金手指项目当前可见的 Windows 窗口、截图识别、任务状态和日志结构整理。产品适配对象统一写作“梦幻西游手游时空客户端”。文章描述的是排查与开发方法,不把流程示意图当成真实软件界面,也不承诺固定结果。实际使用时,应以当前版本代码、真实窗口画面和本次运行日志为准。
先确认输入边界
桌面自动化的问题通常不是某一个坐标本身,而是输入证据已经发生变化。开始检查前,先写下程序版本、目标窗口标题、窗口句柄、外框矩形、客户区矩形、显示器编号、DPI 缩放、任务阶段和素材版本。窗口标题只能用于初筛;句柄、客户区和截图时间需要放在同一个上下文中。若目标窗口没有出现,应该记录“未找到窗口”并停在观察阶段,不要把上一轮的坐标或候选结果当作本轮输入。
记录与复核方法
每次只改变一个变量,并保留改变前后的值。例如先只重新选择窗口,再检查客户区;如果仍然失败,再检查截图区域或模板尺寸。日志至少记录采集时间、窗口矩形、裁剪区域、候选位置、识别分数、阈值、逻辑坐标、屏幕坐标、动作结果和下一状态。这样才能区分没有采到画面、采到但没有候选、命中后坐标换算错误和点击后状态没有变化。## 检查点应放在状态边界
人工检查点不是把所有步骤交给人工,而是在自动化无法从画面可靠推断时暂停。例如窗口刚切换、关键菜单短暂出现、识别候选有多个、点击后状态未变化或需要确认任务阶段时,都适合暂停。检查点要有名称、进入原因、当前截图和继续条件,不能只弹出一句模糊提示。
继续条件要可验证
继续前至少确认目标窗口、客户区矩形、当前阶段和必需素材。对于多窗口任务,还要确认当前窗口编号,避免把人工确认应用到另一窗口。继续后第一步应重新采集画面,而不是直接沿用暂停前的旧坐标。日志应区分自动判断、人工确认和人工取消,超过边界就回到观察状态或结束当前阶段。
检查点的长期价值
明确的暂停状态能防止工具在不确定画面上无限重试,也能帮助开发者判断哪些环节值得继续自动化,哪些环节应保持可观察和可干预。
实际执行清单
执行前再次核对适配对象名称、目标窗口、客户区坐标、素材版本和停止控制;执行中保留关键截图和日志;执行后确认状态字段、画面变化和资源释放。遇到空截图、候选为空、窗口移动或点击后无变化时,先回到观察状态,不用固定位置的兜底点击替代真实入口。以上信息应同时写入正文和日志,便于后续复核。

本文只总结当前项目可见代码和常见排查路径,不虚构用户案例、效果、排名或收录数据。版本、窗口布局和素材发生变化后,需要重新采集证据并更新检查清单。
补充复核:每次运行都应记录窗口、截图、候选、动作和结果,遇到异常先回到观察状态,再根据新的证据决定重新选择、重新采集、重新加载素材或结束阶段。
补充复核:每次运行都应记录窗口、截图、候选、动作和结果,遇到异常先回到观察状态,再根据新的证据决定重新选择、重新采集、重新加载素材或结束阶段。
补充复核:每次运行都应记录窗口、截图、候选、动作和结果,遇到异常先回到观察状态,再根据新的证据决定重新选择、重新采集、重新加载素材或结束阶段。
补充复核:每次运行都应记录窗口、截图、候选、动作和结果,遇到异常先回到观察状态,再根据新的证据决定重新选择、重新采集、重新加载素材或结束阶段。

