api函数调用有误

sunmoonfly sunmoonfly 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
通过调用api来获得磁盘的序列号

Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, ByVal lpVolumeSerial_Numberber As Long, ByVal lpMaximumComponentLength As Long, ByVal lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

........
.........
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
'initialise the strings
Temp1 = space(255)
Temp2 = space(255)
'call the API function
Res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
GetSerialNumber = SerialNum

上面的代码放在vb6里面serialNum是能够获得值的,但放到.net里serialNum的值为0,测试很长时间也找不出原因,那位仁兄用过,帮忙解决一下,谢谢


...全文
评论 9
收藏 已收藏
分享
返回顶部
sunmoonfly
VB 16,718 成员 110,520 内容