Does anyone know how can I get the Hard Drive Serial number from a computer?
PLease send me some code examples.
Thanks,
H.
Printable View
Does anyone know how can I get the Hard Drive Serial number from a computer?
PLease send me some code examples.
Thanks,
H.
VB Code:
Public Declare Function GetVolumeSerialNumber Lib "kernel32.dll" 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 Public Function VolumeSerialNumber(ByVal RootPath As String) As String Dim VolLabel As String Dim VolSize As Long Dim Serial As Long Dim MaxLen As Long Dim Flags As Long Dim Name As String Dim NameSize As Long Dim s As String If GetVolumeSerialNumber(RootPath, VolLabel, VolSize, Serial, MaxLen, Flags, Name, NameSize) Then 'Create an 8 character string s = Format(Hex(Serial), "00000000") 'Adds the '-' between the first 4 characters and the last 4 characters VolumeSerialNumber = Left(s, 4) + "-" + Right(s, 4) Else 'If the call to API function fails the function returns a zero serial number VolumeSerialNumber = "0000-0000" End If End Function To use it do this GotNum = VolumeSerialNumber("C:\")
I think thats all you need.
Hello: I just thought you may want to know this also.
If I am not mistaken, this will not return a NETWORK drive serial number (Only the local drive).
I think Arc's code is much better, but here is a different way...
Public Function SerialNumber() As Long
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim Drive As Object
Set Drive = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(App.Path)))
SerialNumber = Abs(Drive.SerialNumber)
Set fso = Nothing
Set Drive = Nothing
End Function