Das ermitteln der Seriennummer eines Datenträgers kann
nützlich sein, wenn es darum geht, dem Programm eine gleichbleibende Umgebung zu
realisieren oder einfach nur, um auf einfache Weise einen Kopierschutz zu realisieren.
Allgemein/Deklarationen 'der Form
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) Private Const
MAX_FILENAME_LEN = 256
Allgemein/GetSerialNumber 'wird durch eintragen des Codes erzeugt
Public Function GetSerialNumber(sDrive As String) As Long
Dim ser As Long
Dim s As String * MAX_FILENAME_LEN
Dim s2 As String * MAX_FILENAME_LEN
Dim i As Long
Dim j As Long
Call GetVolumeInformation(sDrive + ":\", s,
MAX_FILENAME_LEN, ser, _
i, j, s2, MAX_FILENAME_LEN)
GetSerialNumber = ser
End Function
'Dann Abfrage durch ZBsp.: Commandbutton und einlesen in ein Labelobjekt
Label1/Click
Label1.Caption = GetSerialNumber("A") 'A steht für das zu überprüfende
Laufwerk |