Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB4/32, VB5, VB6
Expertise: Intermediate
May 30, 2003

Get the Drive Serial Number

You can get the serial number of your hard drive, floppy disk, or CD-ROM easily without any additional ActiveX component. First, start a VB project, add a standard module, and place a Command Button control on the form:

'-- Module code
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) As Long

Public Function GetSerialNumber( _
	ByVal sDrive As String) As Long

	If Len(sDrive) Then
		If InStr(sDrive, "\\") = 1 Then
			' Make sure we end in backslash for UNC
			If Right$(sDrive, 1) <> "\" Then
				sDrive = sDrive & "\"
			End If
		Else
			' If not UNC, take first letter as drive
			sDrive = Left$(sDrive, 1) & ":\"
		End If
	Else
		' Else just use current drive
		sDrive = vbNullString
	End If
	
	' Grab S/N -- Most params can be NULL
	Call GetVolumeInformation( _
		sDrive, vbNullString, 0, GetSerialNumber, _
		ByVal 0&, ByVal 0&, vbNullString, 0)
End Function

'-- Form code
Private Sub Command1_Click()
	Dim Drive As String
	Drive = InputBox("Enter drive for checking SN")
	MsgBox Hex$(GetSerialNumber(Drive))
End Sub
Predrag Dervisevic
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap