Option Explicit
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) Const MAX_FILENAME_LEN = 256 Private Sub Command1_Click() Label1.Caption = SerNum("C") 'C is the standard harddisk End Sub Public Function SerNum(Drive$) As Long Dim No&, s As String * MAX_FILENAME_LEN Call GetVolumeInformation(Drive + ":\", s, MAX_FILENAME_LEN, _ No, 0&, 0&, s, MAX_FILENAME_LEN) SerNum = No End Function |