请问C:的序列号是定长的吗,会有几位.
(在我本机测得是9位!!)

解决方案 »

  1.   

    我用的函数,你试试
    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 = 256Public Function DriveSerial(ByVal sDrv As String) As Long
        'Usage:
        'Dim ds As Long
        'ds = DriveSerial("C")
        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
    Private Sub Command1_Click()
        Debug.Print DriveSerial("C")
        Debug.Print DriveSerial("D")
    End Sub