Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Integer, _
ByRef lpVolumeSerialNumber As Integer, _
ByRef lpMaximumComponentLength As Integer, _
ByRef lpFileSystemFlags As Integer, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Integer) As Integer
Function GetHardDriveSerialNumber() As Integer
Dim Result As Integer
Dim RootPathName As String = "C:\"
Dim VolumeNameBuffer As String = Space(256)
Dim VolumeNameSize As Integer = 256
Dim VolumeSerialNumber As Integer = 0
Dim MaximumComponentLength As Integer = 256
Dim FileSystemFlags As Integer = 0
Dim FileSystemNameBuffer As String = Space(256)
Dim FileSystemNameSize As Integer = 256
Result = GetVolumeInformation(RootPathName, _
VolumeNameBuffer, _
VolumeNameSize, _
VolumeSerialNumber, _
MaximumComponentLength, _
FileSystemFlags, _
FileSystemNameBuffer, _
FileSystemNameSize)
Return VolumeSerialNumber
End Function