← 返回总索引组队接受按钮 怎么找 / 自判定🔑 卡密引导07_窗口与UI交互逆向/组队接受按钮_怎么找_自判定_代码.html

组队接受按钮 怎么找 / 自判定

热血江湖 YGOnline.exe · 2026-09-28
整段粘贴:第一行必须是 .版本 2,缺这行易语言不认后面的 .子程序 / .参数。
行首零缩进:别自己先缩,易语言会按 如果/循环 自动缩进。
复制全部:按本页从上到下的顺序拼接,可直接一次粘进工程。

① 取组队接受按钮ID 等 3 个46 行

.版本 2
.子程序 取组队接受按钮ID, 整数型, , 自动判定左/右哪个是"接受",返回它的控件ID;都读不到返回 0
.参数 窗口对象, 整数型
.局部变量 左, 整数型
.局部变量 右, 整数型
左 = 内存_读整数型 (全局_进程句柄, 窗口对象 + 952)
右 = 内存_读整数型 (全局_进程句柄, 窗口对象 + 960)
.如果真 (左 ≤ 65536 或 右 ≤ 65536)
返回 (0)
.如果真结束
.如果 (按钮文字是接受 (左))
返回 (内存_读整数型 (全局_进程句柄, 左 + 12))
.否则如果 (按钮文字是拒绝 (左))
返回 (内存_读整数型 (全局_进程句柄, 右 + 12))
.否则如果 (按钮文字是接受 (右))
返回 (内存_读整数型 (全局_进程句柄, 右 + 12))
.否则
返回 (内存_读整数型 (全局_进程句柄, 左 + 12))
.如果结束

.子程序 按钮文字是接受, 逻辑型
.参数 按钮对象, 整数型
.局部变量 前4字节, 字节集
.局部变量 i, 整数型
.计次循环首 (192, i)
前4字节 = 取字节集左边 (内存_读字节集 (全局_进程句柄, 内存_读整数型 (全局_进程句柄, 按钮对象 + (i - 1) × 4), 4), 4)
.如果真 (前4字节 = 机器码到字节集 (“B1B5A8FC”) 或 前4字节 = 机器码到字节集 (“BD54BB7B”) 或 前4字节 = 机器码到字节集 (“BD54A977”) 或 前4字节 = 机器码到字节集 (“A650B74E”))
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)

.子程序 按钮文字是拒绝, 逻辑型
.参数 按钮对象, 整数型
.局部变量 前4字节, 字节集
.局部变量 i, 整数型
.计次循环首 (192, i)
前4字节 = 取字节集左边 (内存_读字节集 (全局_进程句柄, 内存_读整数型 (全局_进程句柄, 按钮对象 + (i - 1) × 4), 4), 4)
.如果真 (前4字节 = 机器码到字节集 (“A9DAB5B4”) 或 前4字节 = 机器码到字节集 (“A8FAAEF8”) 或 前4字节 = 机器码到字节集 (“A9BFB2A4”) 或 前4字节 = 机器码到字节集 (“C3F6B3AC”))
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)

(扫描的是按钮对象里【指向文字的指针】;Big5 接受类词:接受=B1B5A8FC、確認=BD54BB7B、確定=BD54A977、同意=A650B74E;
拒绝类词:拒絕=A9DAB5B4、取消=A8FAAEF8、忽略=A9BFB2A4、關閉=C3F6B3AC)

② 自动处理组队_带闸门27 行

.版本 2
.子程序 自动处理组队_带闸门
.局部变量 接口管理, 整数型
.局部变量 窗口对象, 整数型
.局部变量 接受ID, 整数型
接口管理 = 内存_读整数型 (全局_进程句柄, #IFManager基址)
.如果真 (接口管理 ≤ 65536)
返回 ()
.如果真结束
.如果真 (全局_组队已处理 = 真)
返回 ()
.如果真结束
窗口对象 = 内存_读整数型 (全局_进程句柄, 接口管理 + #窗口槽位表.组队)
.如果真 (窗口对象 ≤ 65536)
返回 ()
.如果真结束
.如果真 (内存_读整数型 (全局_进程句柄, 窗口对象 + 窗口面板偏移 (窗口对象)) + 64 ≠ 1)
返回 ()
.如果真结束
接受ID = 取组队接受按钮ID (窗口对象)
.如果真 (接受ID ≤ 0)
返回 ()
.如果真结束
按钮点击call (接受ID)
全局_组队已处理 = 真

(窗口消失自动复位全局_组队已处理 的逻辑放主循环"窗口不存在"分支里,见自动处理组队_0928.txt)
热血江湖助手 · 分析资料站← 报告总目录助手主页