找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 155|回复: 0

笑忘征途

[复制链接]

1793

主题

457

回帖

0

积分

管理员

积分
0
发表于 2013-8-29 08:25:16 | 显示全部楼层 |阅读模式
.版本 2
.支持库 iext

.程序集 窗口程序集1
.程序集变量 关键字, 字节集
.程序集变量 使用id, 整数型, , "0"
.程序集变量 选中进程号, 整数型
.程序集变量 搜索结果, 整数型, , "0"
.程序集变量 人物偏移, 整数型
.程序集变量 进程号, 整数型, , , 两处调用,后来加
.程序集变量 玩家名称, 文本型

.子程序 __启动窗口_创建完毕

提升进程权限 ()
超级列表框1.全部删除 ()
EnumWindows (&枚举窗口回调函数, 0)
.如果真 (超级列表框1.取表项数 () = 0)
    状态条1.置文本 (1, “当前打开游戏” + 到文本 (超级列表框1.取表项数 ()) + “个;请检查”)
.如果真结束


.子程序 枚举窗口回调函数, 逻辑型, , EnumWindows每找到一个窗口,就会调用此函数
.参数 参窗口句柄, 整数型
.参数 参数, 整数型
.局部变量 窗口标题, 文本型
.局部变量 行号, 整数型
.局部变量 服务器名, 文本型
.局部变量 临时数据, 整数型
.局部变量 临时文本, 文本型
.局部变量 临时计数, 整数型
.局部变量 配置文件, 文本型
.局部变量 征途基址, 整数型
.局部变量 临时基址, 整数型

窗口标题 = 取空白文本 (256)  ' 预先分配内存空间,以保存返回值
GetWindowText (参窗口句柄, 窗口标题, 255)  ' 取得一个窗体的标题(caption)文字
GetWindowThreadProcessId (参窗口句柄, 进程号)  ' 取得一个窗体的进程ID
征途句柄 = OpenProcess (#PROCESS_ALL_ACCESS + #PROCESS_QUERY_INFORMATION, 0, 进程号)
.如果真 (取文本左边 (窗口标题, 10) = “征途正式版”)
    行号 = 超级列表框1.插入表项 (, 到文本 (参窗口句柄), , , , )
    超级列表框1.置标题 (行号, 1, 到文本 (进程号))
    服务器名 = 取文本中间 (窗口标题, 28, 8)
    超级列表框1.置标题 (行号, 2, 服务器名)
    .如果真 (人物基址 = 0)
        ' 搜索基址 (进程号)
    .如果真结束
    输出调试文本 (人物基址)
    游戏基址 = 十六进制到十进制 (读配置项 (取运行目录 () + “\system.ini”, “base”, “baseadd”, ))
    ' 角色基址 = 8568728
    ' 角色基址 = 8569816
    读内存整数 (征途句柄, 游戏基址, 临时基址, 4, 0)
    人物基址 = 临时基址 + 十六进制到十进制 (读配置项 (取运行目录 () + “\system.ini”, “base”, “point”, ))
    .如果真 (人物基址 ≠ 0)
        读内存整数 (征途句柄, 人物基址, 玩家数据基址, 4, 0)
        读内存整数 (征途句柄, 人物基址 - 256, 地图基址, 4, 0)
        角色名称 = 取空白字节集 (20)
        读内存字节集 (征途句柄, 玩家数据基址 + 4, 角色名称, 20, 0)
        人物位置 = 取空白字节集 (20)
        读内存字节集 (征途句柄, 人物基址 - 256, 人物位置, 20, 0)
    .如果真结束
    超级列表框1.置标题 (行号, 3, 到文本 (角色名称))
    超级列表框1.置标题 (行号, 0, 到文本 (参窗口句柄))
    ' 超级列表框1.置标题 (行号, 5, 到文本 (人物位置))
    征途窗口句柄 = 参窗口句柄
    CloseHandle (征途句柄)
.如果真结束
状态条1.置文本 (0, “提示:”)
状态条1.置文本 (1, “当前打开游戏” + 到文本 (超级列表框1.取表项数 ()) + “个;请双击游戏,打开辅助”)
返回 (真)

.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 临时计数, 整数型

征途进程ID = 到整数 (超级列表框1.取标题 (超级列表框1.现行选中项, 1))
征途句柄 = OpenProcess (#PROCESS_ALL_ACCESS + #PROCESS_QUERY_INFORMATION, 0, 征途进程ID)
征途窗口句柄 = 到整数 (超级列表框1.取标题 (超级列表框1.现行选中项, 0))
载入 (窗口2, , 假)
窗口2.标题 = 超级列表框1.取标题 (超级列表框1.现行选中项, 3)
征途句柄 = OpenProcess (#PROCESS_ALL_ACCESS + #PROCESS_QUERY_INFORMATION, 0, 征途进程ID)
读内存整数 (征途句柄, 人物基址, 玩家数据基址, 4, 0)
读内存整数 (征途句柄, 玩家数据基址 + 十六进制到十进制 (读配置项 (取运行目录 () + “\system.ini”, “INFO”, “BLOOD.1”, )), 红最小值, 4, 0)
读内存整数 (征途句柄, 玩家数据基址 + 十六进制到十进制 (读配置项 (取运行目录 () + “\system.ini”, “INFO”, “BLOOD.2”, )), 红最大值, 4, 0)
读内存整数 (征途句柄, 玩家数据基址 + 十六进制到十进制 (读配置项 (取运行目录 () + “\system.ini”, “INFO”, “blue.1”, )), 蓝最小值, 4, 0)
读内存整数 (征途句柄, 玩家数据基址 + 十六进制到十进制 (读配置项 (取运行目录 () + “\system.ini”, “INFO”, “blue.2”, )), 蓝最大值, 4, 0)
' 窗口1.标签3.标题 = 到文本 (红最小值) + “/” + 到文本 (红最大值)
' 窗口1.标签4.标题 = 到文本 (蓝最小值) + “/” + 到文本 (蓝最大值)
' 窗口1.可视 = 真
.如果真 (是否已创建 (窗口2))
    _启动窗口.销毁 ()
.如果真结束


.子程序 __启动窗口_将被销毁

.如果真 (是否已创建 (窗口2) = 假)
    ' 征途窗口句柄 = 征途句柄
    CloseHandle (征途句柄)
.如果真结束


.子程序 _图片框1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

http://yunpan.cn/QX56Vv32FdatM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-1 15:27 , Processed in 0.066294 second(s), 21 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表