找回密码
 点一下
查看: 1318|回复: 7

怎样获得某Handle对应的数据类型

[复制链接]
发表于 2010-3-24 13:59:41 | 显示全部楼层 |阅读模式
我的目的是枚举出游戏中的所有单位。现在我已经知道如何找到HandleTable,获得某Handle(比如0x10000C)和内存中的地址,怎么知道这个Handle对应的是Unit还是什么的?或者有没什么更好的方法?
发表于 2010-3-24 17:25:58 | 显示全部楼层
用单位组添加移除不好么?
回复

使用道具 举报

 楼主| 发表于 2010-3-24 17:27:44 | 显示全部楼层
回楼上:我是想做一个查看器之类的东西,用单位组会导致不同步然后掉线
回复

使用道具 举报

发表于 2010-3-24 17:40:14 | 显示全部楼层
不知道了... 强制把hdl转换成不相符的类型会弹框...
回复

使用道具 举报

发表于 2010-3-25 03:55:29 | 显示全部楼层
用获得单位类型来做~~能得到单位类型就是单位~~不能得到就不是~~

以此类推可以得到其它很多种方案~~
回复

使用道具 举报

 楼主| 发表于 2010-3-25 08:32:39 | 显示全部楼层
我还有一个问题:怎么知道Handle表中的单位总数,难道要扫描整个内存块?
回复

使用道具 举报

发表于 2010-3-26 13:07:49 | 显示全部楼层
单位组为什么会掉线,我认为操作handle这种内部机制才是容易掉线的。

在地图初始化时,创建一个单位组-完整地图区域的所有单位
然后任意单位进入完整地图区域,将这个单位添加到单位组
这就是地图中的所有单位咯。

或者,每次枚举所有前直接创建一个单位组-完整地图区域的所有单位,用完后删掉这个单位组就行了
回复

使用道具 举报

 楼主| 发表于 2010-3-26 18:32:53 | 显示全部楼层
回楼上:外部程序调用,只有一个人CreateGroup当然会掉线
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-25 21:46 , Processed in 0.032256 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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