> Try using this declaration and function (you can pass the drive letter
> in as a letter by itself, a letter followed by a colon or a letter
> followed by a colon followed by a backslash). The serial number is
> returned in Hex format.
> Rick
> 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 Long
> Function GetSerialNumber(DriveLetter As String) As String
> Dim SerialNum As Long
> Dim VolNameBuf As String
> Dim FileSysNameBuf As String
> Select Case Len(DriveLetter)
> Case 1
> If DriveLetter Like "[a-z]" Then
> DriveLetter = Left$(DriveLetter, 1) & ":\"
> Else
> GetSerialNumber = "Error - Bad drive designation"
> End If
> Case 2
> If LCase(DriveLetter) Like "[a-z]:" Then
> DriveLetter = DriveLetter & "\"
> Else
> GetSerialNumber = "Error - Bad drive designation"
> End If
> Case 3
> If LCase(DriveLetter) Like "[!a-z]:\" Then
> GetSerialNumber = "Error - Bad drive designation"
> End If
> Case Else
> GetSerialNumber = "Error - Bad drive designation"
> End Select
> If Len(GetSerialNumber) = 0 Then
> VolNameBuf = String$(255, Chr$(0))
> FileSysNameBuf = String$(255, Chr$(0))
> GetVolumeInformation DriveLetter, VolNameBuf, _
> Len(VolNameBuf), SerialNum, 0, 0, _
> FileSysNameBuf, Len(FileSysNameBuf)
> GetSerialNumber = Right$("00000000" & Hex$(SerialNum), 8)
> End If
> End Function
> > How can I get the Hard Drive Volume Serial Number that is displayed
> when
> > you type dir at the command prompt.
> > TIA
> > Mike