请问,AU3如何调用DiskID32.dll获取硬盘、U盘物理序列号?
本帖最后由 castle921 于 2016-3-25 20:22 编辑求助论坛版主及各位,这是我从网上找的能够读取硬盘物理序列号的DiskID32.dll,实在不知道怎么调用。
另外我从https://www.winsim.com/diskid32/diskid32.html下载的diskid32.cpp源码,还能读取U盘物理序列号、MAC地址,是我认为读取磁盘物理序列号最好的源码,但它是控制台的,请问如何改为DLL。我是想用来做硬件绑定。
$dll = DllOpen(@ScriptDir&"diskid32.dll")
If @error Then
MsgBox(4096,"DllOpen Error", @error)
EndIf
Local $getInfo = DllStructCreate("str controllerType;str type;str modelNumber;str serialNumber;str revisionNumber;str driveType;DWORD bufferSize;DWORD cylinders;DWORD heads;WORD sectors")
$result = DLLCall($dll, "none","getDiskInfo","PTR",DllStructGetPtr($getInfo))
If @error Then
;@error: 1 = unable to use the DLL file,
;2 = unknown "return type",
;3 = "function" not found in the DLL file,
;4 = bad number of parameters,
;5 = bad parameter.
;MsgBox(4096,"I am here 2","" )
MsgBox(4096,"DllCall Error", @error )
Else
MsgBox(4096,"Disk SN is", DllStructGetData($getInfo ,"serialNumber"))
EndIf
DllClose($dll) 这么晚了还在码 关注一下,我遇到的问题跟你的问题差不多 自己顶一下。已经知晓对控制台EXE的读取,并自己做了一个简单的GUI。
但就是不知道怎么变成DLL及如何调用。
页:
[1]