njws55 发表于 2005-6-15 09:56:00

VB求助 急! 高手请进!

如何通过VB获得硬盘序列号?         请高手帮帮忙给个代码         感激不尽

zhuxuhong 发表于 2005-6-16 07:16:00

Private Declare Function GetVolumeInformation& Lib "kernel32" _
Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long)
Private Const MAX_FILENAME_LEN = 256 Public Function DriveSerial(ByVal sDrv As String) As Long
                Dim RetVal As Long
                Dim str As String * MAX_FILENAME_LEN
                Dim str2 As String * MAX_FILENAME_LEN
                Dim a As Long
                Dim b As Long
                GetVolumeInformation sDrv & ":\", str, MAX_FILENAME_LEN, RetVal, _
                a, b, str2, MAX_FILENAME_LEN
                DriveSerial = RetVal
End Function 功能 返回指定磁盘的序列号 语法 DriveSerial ( sDrv ) 参数 sDrv:字符串,代表盘符 返回值 长整数,序列号 样例                 Dim ds As Long
                ds = DriveSerial("C")
说明 盘符不必带":\",如C盘不必填上c:\,而直接用C就行

njws55 发表于 2005-6-16 10:31:00

我用上面的代码获得的一串数值。         还带负号的,怎么回事? 是否是数值进制问题?
页: [1]
查看完整版本: VB求助 急! 高手请进!