更新说明
这次主要补齐了内存字库、鼠标轨迹和 dx 输入锁定相关能力,同时整理了一些内部公共代码,并修正了几个容易影响调用方判断的返回值问题。
新增与增强
SetMemDict支持直接从内存字节加载字库。- 支持 OP 二进制
.dict字库。 - 支持文本字库内容。
- 字库会写入全局共享槽位,多个对象可以复用,不需要重复加载。
- 支持 OP 二进制
- 字库槽位范围扩展到
0-99。 - 新增鼠标轨迹相关能力。
- 支持平滑移动。
- 支持区域随机落点平滑移动。
- 支持路径移动和路径拖拽。
- 支持配置轨迹类型、耗时范围、抖动幅度、起步停顿和落点停顿。
- 新增
LockInput,用于 dx 键鼠模式下临时屏蔽目标窗口的外部输入,减少脚本执行时被人工操作干扰的情况。
修复
- 修复D3D 11 截图问题,该问题由更新kiero2 依赖引起
- 修正
FindPic失败返回值,未命中或失败时返回-1,避免和第 0 张模板命中混淆。 - 修正
FindColorBlock、GetColorNum、GetPicSize等接口失败时输出值没有及时清理的问题。 - OpenCV 和 YOLO 的 C API JSON 返回统一带
ok字段,调用方可以直接通过ok判断成功或失败。 - 修正 COM
GetScreenData在 x64 下可能截断截图数据地址的问题。 - 修正 DirectInput 鼠标状态读取中的结构判断问题。
- 补充 Raw Input fake 事件读取后的消费处理,减少重复读取带来的异常行为。
内部调整
- 将
libop/runtime调整为libop/base,基础类型、线程池、环境和平台封装放到更合适的位置。 - 收拢截图区域处理、键鼠消息组装、JSON 字符串处理、图片模板视图准备等公共逻辑,减少重复实现。
- 移除过期的 issue 扫描文档。
绑定更新
已同步更新:
- C API
- COM
- Python
- Go
- SWIG
注意事项
FindPic失败返回值从原来的0调整为-1。如果旧代码用0判断失败,需要改为判断< 0。- JSON 类接口建议统一判断
ok字段。 SetMemDict现在按字节数据加载字库,更适合 Go、Python、C/C++ 等语言直接嵌入字库文件后传入。
验证
已通过 Release x64 构建和测试:
python build.py -g vs2026 -t Release -a x64