我是用下列程序调用硬盘的序列号,的在很多机器下测试都没有问题是不变的,
可是在一台笔记本电脑系统下却发现最后一位数字老变,是怎么回事呢?
急!!!!!!!!请大家回答!!!!!
'调用
GetHDDSerialNumber("C:")Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As LongFunction GetHDDSerialNumber(ByVal strDrive As String) As String
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
'GetHDDSerialNumber = Hex(SerialNum)
GetHDDSerialNumber = SerialNum
End Function
可是在一台笔记本电脑系统下却发现最后一位数字老变,是怎么回事呢?
急!!!!!!!!请大家回答!!!!!
'调用
GetHDDSerialNumber("C:")Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As LongFunction GetHDDSerialNumber(ByVal strDrive As String) As String
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
'GetHDDSerialNumber = Hex(SerialNum)
GetHDDSerialNumber = SerialNum
End Function
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货