afoo 发表于 2016-7-30 10:56:32

[已解决]请教Dllcall怎么写

本帖最后由 afoo 于 2016-7-31 08:01 编辑

有个hardwareid的dll,可以用来生成机器码,包含HDD、NIC、CPU、BIOS,可以是单一也可以是这四项的组合。
有VB的写法,但是用autoit的DLLCALL怎么弄就是不行,请问大家,我错在哪里?
#include "array.au3"
Local $result = DllCall("HardwareID.dll", "wstr", "GetHardwareID", "BOOLEAN", False, "BOOLEAN", False , "BOOLEAN", True, "BOOLEAN", True, "wstr","R5LR-S4TQ")
MsgBox(0,0,$result)
附件里有VB的写法,DLL文件也在里面。

nmgwddj 发表于 2016-7-30 13:17:13

返回值是一个数组。

afoo 发表于 2016-7-30 15:59:22

谢谢楼上的前辈指点,我确实没看仔细。我再试试。

afoo 发表于 2016-7-30 21:42:57

本帖最后由 afoo 于 2016-7-31 08:00 编辑

怎么也不行,有大侠能指点吗?感激不尽。

afoo 发表于 2016-7-30 23:23:56

再顶上去,论坛现在的人气很低啊。高手都不愿意说话了。

nmgwddj 发表于 2016-7-31 00:09:21

不知道是不是要的这个效果。


#PRE_UseX64=n

#include "array.au3"
Local $result = DllCall("HardwareID.dll", "str", "GetHardwareID", "BOOLEAN", False, "BOOLEAN", False , "BOOLEAN", True, "BOOLEAN", True, "str","R5LR-S4TQ")

MsgBox(0, '', $result)


afoo 发表于 2016-7-31 07:59:38

楼上的前辈非常感谢。难道就是没有用#PRE_UseX64=n的原因?我用的64位win10。受教了!

zxhou1 发表于 2016-8-6 15:37:24

{:face (301):}
页: [1]
查看完整版本: [已解决]请教Dllcall怎么写