使用GetVolumeInformation获取磁盘序列号

在获取磁盘序列号时,可以调用API函数GetVolumeInformation,该函数不仅能返回序列号,还可获取其他磁盘信息。以下是详细代码:

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

Private Sub Form_Load()
 Dim sDriveLetter As String
 Dim RetVal As Long
 Dim lpName As String
 Dim nSize As Long
 Dim nSerial As Long
 Dim lpMaxComp As Long
 Dim nFileFlags As Long
 Dim lpFileName As String
 lpName = Space(255)
 lpFileName = Space(255)
 nSize = 255
 sDriveLetter = "a:"
 '可以更改为指定的盘符
 RetVal = GetVolumeInformation(sDriveLetter, lpName, _
 nSize, nSerial, lpMaxComp, nFileFlags, lpFileName, nSize)
 If RetVal = 0 Then
 '处理错误
 Exit Sub
 Else
 lblDriveSerial.Caption = CStr(nSerial)
 '假设已建立标签,显示序列号
 End If
End Sub

说明

通过调用GetVolumeInformation,我们可以将nSerial的值展示在标签控件上,用于显示目标磁盘的序列号。如果API返回值为0,表示调用失败,应加入错误处理代码。

txt 文件大小:1.27KB