分区:15_助手版本迭代说明源文件:旧版本更新_v17_稳版_撤吸附_改动说明_20261008.md篇幅:4.4 KB收录:2026-10-19 17:10
助手 v17_稳版 · 撤销「吸附/跟随游戏窗口」改动说明(2026-10-08 02:2x)
背景
- v16/v17 给注入窗口加了「吸附到游戏窗口、左对齐下对齐、随移动就移动」功能(独立置顶 + 200ms 定时器跟随)。
- 实测:只有 v17 在 F7 编译阶段崩溃,原版
旧版本更新.e(以及 v15 去任务栏图标那部分)编译正常。 - 用户确认要一个稳定版 = 保留 v15 去任务栏图标,彻底撤掉 v16/v17 吸附增量。
本次撤掉了什么(v16/v17 吸附增量,全部)
- 窗口代码
代码/窗口程序集_MainDialogWnd.form.e.txt
- 创建完毕里的吸附块(
【跟随游戏窗口】 注释 → 读配置项(吸附游戏窗口) → WS_EX_TOPMOST → GetWindowRect_API 定位贴左下角 → 创建定时器(9973))。 - 整个
吸附定时回调 子程序(137→201 行,65 行)。 - 创建完毕里 4 个吸附局部变量(
吸附_游戏矩形/助手矩形/助手宽/助手高)。 显示窗口(Home 键)里的 吸附_用户可见 = MainDialogWnd.可视 同步行(恢复成 v15 原样)。
- DLL 命令
DLL.e.txt:撤 GetClientRect_API / GetWindowRect_API / IsIconic_API(3 条)。 - 常量
常量.e.txt:撤 界面_WS_EX_TOPMOST / 界面_GWL_STYLE / 界面_WS_CHILD / 界面_WS_POPUP / 界面_SWP_NOACTIVATE(5 条)。 - 全局变量
全局变量.e.txt:撤 吸附_游戏窗口句柄/已启用/用户可见/上次左/上/右/下(7 个标量)。
保留什么(v15,编译正常、不动)
- 注入窗口去任务栏图标:
WS_EX_TOOLWINDOW 清 WS_EX_APPWINDOW 那套(界面_GWL_EXSTYLE/WS_EX_TOOLWINDOW/WS_EX_APPWINDOW + SWP_NOSIZE/NOMOVE/NOZORDER/FRAMECHANGED 常量 + 创建完毕里的「工具窗口」块)。 - 日志定时器 9971(
&日志定时回调)——工程原有写法,一直正常。 - 其余全部挂机/功能代码原封不动。
验证(四道门禁全过)
tools/_check_blocks.py:控制块 0 处tools/_check_decls.py:69 处数组 / 0 误声明- e2txt t2e:0 错误 0 警告 →
旧版本更新_修复后_v17_稳版.e - e2txt e2t 回转:0 错误 0 警告;回转产物里
界面_WS_EX_TOOLWINDOW 命中 2(v15 在)、吸附 命中 0(已撤)、9971 在 / 9973 已撤。 - 用户原
旧版本更新_修复后.e 时间戳未变(未被覆盖)。
你这边
- 用易语言打开
D:/AI空间/rxjh/旧版本更新_修复后_v17_稳版.e F7 编译,覆盖各机器 test.dll,别点「旧版覆盖」。 - 这版不含吸附功能:助手窗口是独立置顶窗口,不会跟随游戏移动(按 Home 切显示/隐藏照旧)。
- 若以后还想加回「吸附/跟随」,届时改为不用定时器回调 + 不用
WS_EX_TOPMOST 浮层的稳妥写法再单独开,本次先保证能稳定编译。 - 黑月编译器无需清理:本次确认崩溃只来自吸附新增代码,与黑月/环境无关(原工程编译正常)。
补丁:修复 错误(10055) 参数太少(2026-10-08)
- 现象:F7 报
错误(10055): 调用DLL命令"置窗口位置大小"时所传递的参数太少。 - 根因:上一版撤吸附时,删
GetClientRect_API/GetWindowRect_API/IsIconic_API 三个 .DLL命令 头,却漏删它们的 .参数 体;e2txt 把 8 条游离 .参数(窗口句柄 / 矩形 RECT 传址 ×2 + 窗口句柄 ×1) 误挂到紧邻的 置窗口位置大小 头上 → 该命令被声明成 16 个参数,而调用只传 7 个 → 10055。e2txt/t2e 不查参数计数,故前几轮漏检。 - 修法:删
DLL.e.txt 尾部 8 条孤儿 .参数(置窗口位置大小 恢复为干净的 7 参数:窗口句柄/排序参照/新左边/新顶边/新宽度/新高度/标志);调用处(创建完毕第 89 行)本就传 7 个实参,正好匹配。 - 验证:
tools/_check_blocks.py 0 处;tools/_check_decls.py 0 误声明;t2e 0 错 0 警;e2t 回转 0 错 0 警;源内 置窗口位置大小 仅 1 处调用 = 7 实参。已重编 旧版本更新_修复后_v17_稳版.e(同一文件名,已含修复)。 - 教训:删 DLL 命令时必须连同
.参数 体一起删;e2txt 只做文本↔二进制搬运,不查参数计数,只有易语言 F7 才报 10055/10044 这类类型与参数错误。