取得磁碟機(jī)之Volumn及SerialNumberaccess教程

字號(hào):

適用ACCESS97、2000
    這兩項(xiàng)磁碟機(jī)資料須使用API函數(shù)方可取得,代碼如下:
    Private 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
    Function GetVolumn(X As String) As String
     If Len(X) < 3 Then
     X = Left(X, 1) & ":\"
     Else
     X = Left(X, 3)
     End If
     Dim nRet As Long, VolName As String, VolSN As Long, MaxCompLen As Long
     Dim VolFlags As Long, VolFileSys As String
     VolName = Space$(256)
     VolFileSys = Space$(256)
     nRet = GetVolumeInformation(X, VolName, Len(VolName), _
     VolSN, MaxCompLen, VolFlags, _
     VolFileSys, Len(VolFileSys))
     If nRet = 1 Then
     GetVolumn = VolName
     Else
     GetVolumn = ""
     End If
    End Function
    Function GetNumber(X As String) As String
     If Len(X) < 3 Then
     X = Left(X, 1) & ":\"
     Else
     X = Left(X, 3)
     End If
     Dim nRet As Long, VolName As String, VolSN As Long, MaxCompLen As Long
     Dim VolFlags As Long, VolFileSys As String
     VolName = Space$(256)
     VolFileSys = Space$(256)
     nRet = GetVolumeInformation(X, VolName, Len(VolName), _
     VolSN, MaxCompLen, VolFlags, _
     VolFileSys, Len(VolFileSys))
     If nRet = 1 Then
     GetNumber = VolSN
     Else
     GetVolumn = ""
     End If
    End Function
    前面的Declare陳述式宣告一個(gè)API函數(shù)(GetVolumeInformation),可取得磁碟機(jī)的兩項(xiàng)資料。