找回密码
 加入
搜索
查看: 1184|回复: 2

与函数 DllStructGetPtr 相反的功能该如何实现

[复制链接]
发表于 2009-8-3 15:59:18 | 显示全部楼层 |阅读模式
本帖最后由 baikaifang 于 2009-8-11 13:00 编辑

最近在调试别的程序的时候,遇到这种问题,就是已知一个结构Struct的指什,现在的问题是需要知道该结构内部成员及成员数据,Au3本身的函数好像只有DllStructGetPtr是取得结构的指针的,并没有通过指针取得结构的函数,请大家指点一下,有没有什么函数,或者是Win32 API可以实现 DllStructGetPtr 相反的功能。
发表于 2009-8-3 16:37:00 | 显示全部楼层
本帖最后由 pusofalse 于 2009-8-3 16:44 编辑

通过指针获取其结构定义大概是不可能的,因为结构之间可以互相转换,long;long 可以转化为int64或者byte[8]、wchar[4],int也可以转换为float,byte[4]也等于char[4]。可以先获取其结构大小。如果是HeapAlloc分配的指针,可以用HeapSize返回大小,LocalAlloc可以用LocalSize返回大小。最后用$tBuffer = DllStructCreate("byte[" & $iSize & "]", $pointer),$tBuffer中的数据就是$pointer指针指向的数据。
通过指针获取结构?查阅联机文档或者自己猜解吧。
 楼主| 发表于 2009-8-3 17:28:50 | 显示全部楼层
谢谢 pusofalse 朋友的指点,我先自己尝试一下,有不懂的再来请教
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-4 11:32 , Processed in 0.068441 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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