找回密码
 加入
搜索
查看: 2779|回复: 6

关于数据结构的问题

[复制链接]
发表于 2008-8-11 19:04:11 | 显示全部楼层 |阅读模式
typedef struct {
     POINT pt;
     DWORD mouseData;
     DWORD flags;
     DWORD time;
     ULONG_PTR dwExtraInfo;
} MSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;

在上面红色标识的数据类型在au3中该如何书写呢?
Const $tagSTRUCT = "POINT pt;dword mouseData;dword flags;dword time;ulong_ptr dwExtraInfo"
我写成这样子,程序运行没有提示错误,但是得到的结果却是错误的,这种类型的数据结构在au3中该怎么书写呢?

[ 本帖最后由 gto250 于 2008-8-12 17:29 编辑 ]
发表于 2008-8-11 23:05:14 | 显示全部楼层
Hook?

POINT pt 应该用DllStructCreate 创建一个样式才对。


$tagSTRUCT = DllStructCreate("int X;int Y;dword MouseData;dword Flags;dword Time;ulong ExtraInfo", $lParam)
        $X = DllStructGetData($tagSTRUCT , 1)
        $Y = DllStructGetData($tagSTRUCT , 2)



像这样的结构,在C++中经常用到的。不过我也是一知半解的^_^
发表于 2008-8-12 08:03:51 | 显示全部楼层
这个不叫做数据结构吧,在C中称为结构体。楼主的这个POINT应该是指针变量,AU3中我还的确不知道怎么写……

另,我认为“Const $tagSTRUCT = "POINT pt;dword mouseData;dword flags;dword time;ulong_ptr dwExtraInfo"”这句话有问题(当然,仅仅是个人的浅薄看法),AU3中常量与变量都是变体类型的,这句常量声明中的“$tagSTRUCT ”AU3理论上是把它做字符串型数据处理的,而不是按照结构体进行处理。

如果楼主是参阅了UDF部分关于结构体的部分,此部分中并未找到您所使用的$tagSTRUCT ,至少我的帮助里没有

[ 本帖最后由 skyfree 于 2008-8-12 08:15 编辑 ]
发表于 2008-8-12 08:38:20 | 显示全部楼层
$tagSTRUCT是变量名。自定义的。
发表于 2008-8-12 08:43:29 | 显示全部楼层
如果是自定义的变量名,那这个90%的肯定是错了。
发表于 2008-8-12 08:54:54 | 显示全部楼层
变量名怎么有错?错的只是他定义的POINT pt 部份。按我理解的的第一个回复,应该是没有问题的了。
 楼主| 发表于 2008-8-12 17:29:19 | 显示全部楼层
sanhen正解
试验成功
谢谢了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-3 23:07 , Processed in 0.067868 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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