热血江湖助手 · 分析资料站← 报告总目录助手主页
分区:15_助手版本迭代说明源文件:旧版本更新_v17_跟随游戏窗口_改动说明_20261008.md篇幅:5.6 KB收录:2026-10-19 17:10

助手 v17 —— 修复「注入窗口一闪而过」(2026-10-08)

问题现象

v16 把助手窗口 SetParent 成游戏主窗口的子窗口后,窗口只闪一下就消失、再也看不见。

根因

热血江湖是 D3D 渲染的游戏,每帧把整个客户区用 Direct3D 重绘一遍。<br>普通 GDI 子窗口会被压在游戏渲染层下面:

结论:把普通窗口 SetParent 成 D3D 游戏窗口的子窗口,对这类游戏天生无效(除非去 hook D3D 的 present,那是另一套大工程)。v16 的方向走错了。

修复方案:独立置顶窗口 + 跟随游戏移动

不再做子窗口,改为:

  1. 保留顶层窗口 + 加 WS_EX_TOPMOST(0x8)样式 → 浮在游戏窗口之上,

因为不再进游戏 D3D 渲染层,所以永远不会被画面盖掉。

  1. 200ms 定时器(id 9973 → 吸附定时回调)按游戏窗口的屏幕坐标(GetWindowRect)把助手贴到

左下角:x = 游戏左、y = 游戏底 - 助手高(左对齐 + 下对齐)。

  1. 只有游戏窗口位置/尺寸变化时才重新贴一次,平时不干活、不抢前台、不卡。
  2. 游戏最小化(IsIconic 非 0)→ 临时 MainDialogWnd.可视 = 假 隐藏;

还原后按 吸附_用户可见(Home 键意图)恢复显隐,与原有 Home 切换互不打架。

视觉上仍是你要的:左对齐、下对齐、随游戏窗口移动就移动,但这次真能一直看见。

改动清单(文本主本)

验证(四道门禁全过)

使用

补丁:修复编译错误 10044(2026-10-08 01:5x)

补丁:消除黑月编译卡死(2026-10-08 02:0x)

本页由 Markdown 报告自动转排;如需原始 md,可在原会话工作区取用。