找查文字功能提示错误
感谢反馈,我研究一下。
以下是AI的分析。 Windows OCR 初始化失败,以及离线模型未能找到。
要找的是什么文字? 希望有整屏截图和目标位置截图。
Windows OCR 初始化失败,可能是windows缺少什么组件导致的。 方便的话,试一下用1.x 调试运行看看调试文件中windows ocr是否能找到。
=====
结论:这是“Windows OCR 调用异常 + 离线 OCR 未匹配到目标”的叠加问题,截图还不足以确定最终根因。
结合原帖及截图,当前代码能确认:
Windows OCR失败:ClassFactory 无法供应请求的类
离线OCR引擎未能找到文字
调用流程是:Windows OCR → 失败后尝试离线 OCR → 两者都没找到才报错,见 [TextFinder.cs (line 562)](/D:/Work/Quicker/QuickerPc/Quicker/Actions/XActions/BuildinRunners/Images/TextFinder.cs:562)。因此,Windows OCR 报错没有阻止备用识别。
Windows OCR 部分优先怀疑系统组件或运行时兼容性。当前封装依次创建内存流、解码位图、创建语言对象和 OCR 引擎,任何一处激活失败都可能落成这条提示;现有提示只保留 ex.Message,无法判断具体失败位置。另外,微软文档明确指出该 OCR API 的桌面应用支持要求包身份,这也是兼容性排查线索,但不能直接认定为本例原因。微软文档
ex.Message
离线 OCR 部分,代码采用文字块内的子串匹配,忽略大小写,并在失败后尝试去除普通空格;没有跨块拼接或容错匹配。因此错字、跨块拆分、查找范围不正确等都可能导致失败,见 [匹配实现 (line 643)](/D:/Work/Quicker/QuickerPc/Quicker/Actions/XActions/BuildinRunners/Images/TextFinder.cs:643)。
建议下一步取得这几项最小证据:
“跳过 Windows OCR 引擎”只能避开第一段异常;由于当前离线 OCR 已尝试且未命中,单独勾选它不能解决这次找不到文字的问题。
本次仅做只读分析,未修改代码,也未在反馈者环境复现。