VB Code:
  1. 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
  2. Private Const MAX_FILENAME_LEN = 256
  3. Public Function DriveSerial(ByVal sDrv As String) As Long
  4.     Dim RetVal As Long
  5.     Dim str As String * MAX_FILENAME_LEN
  6.     Dim str2 As String * MAX_FILENAME_LEN
  7.     Dim a As Long
  8.     Dim b As Long
  9.     Call GetVolumeInformation(sDrv & ":\", str, MAX_FILENAME_LEN, RetVal, a, b, str2, MAX_FILENAME_LEN)
  10.     DriveSerial = RetVal
  11. End Function
  12. Private Sub Form_Load()
  13.     MsgBox "Serial of drive C is " & DriveSerial("C")
  14. End Sub