[已解决]UDF中API返回值
本帖最后由 haijie1223 于 2014-3-23 19:15 编辑3.3.9.4中UDF中的这个API写的还真是蛋疼~干嘛不直接返回数组?其他版本也如此吗?
#include <WinAPIEx.au3>
#include <Array.AU3>
Dim $VerInfo = _WinAPI_GetVersionEx()
Dim $INFOEX
For $i = 1 To 10
$INFOEX[$i] = DllStructGetData($VerInfo, $i)
Next
_ArrayDisplay($INFOEX) 我不解,为什么我这总是报 _ArrayDisplay 未定义。搜索WinAPIEx.au3这个文件也是有的。所以暂时未能向LZ提供有用的数据 回复 2# 半芯竹
汗~代码改了~再试试吧 回复 3# haijie1223
我的系统信息就不用说了,您看返回的咱样。 回复 3# haijie1223
您的意思是干嘛不直接返回数组
Dim $VerInfo = _WinAPI_GetVersionEx()
这个是吧? 然后想直接 _ArrayDisplay($VerInfo)
我这不行。呵呵。 查看 3.3.6.1 ~ 3.3.10.2 是一样的,返回的是结构。可能这是此类API既定的套路吧~~ 回复 6# afan
返回结构还得去查结构中的元素,既然都做成udf了,直接返回数组多好~想不通,回头问问P侠~ 结构体 不好吗?
我总在想 为什么有些UDF总是要把结构体转成数组呢 :(
{:face (394):} 这就是答案了…… 各有需求 本帖最后由 Ycxw2008 于 2014-3-22 23:15 编辑
应该加个选项 囧
不过话说回来了,UDF 自己改下也可以啊.囧
为了看数据 那不如直接_WinAPI_DisplayStruct 回复 10# Ycxw2008
囧 回复 11# haijie1223
au3上面结构体 拷贝数据到另一个变量上面不方便
au3上面数组嘛 取不到地址,感觉很更是不方便
只是个人意见哈。
{:face (361):} 回复 9# afan
问过P侠,他的回复如下:二次调用api时,可以直接使用此结构的指针。
如果返回数组,那么二次调用时,先得将数组转为结构,然后再获取结构的指针,这样做很麻烦,因为api不认识数组。
果然很有说服力! 回复 13# haijie1223
还是模糊中....还没用到这些。。。。不理解实际使用情况....
页:
[1]