Rubrik: Dateisystem · Laufwerke | VB-Versionen: VB2005, VB2008 | 20.10.09 |
Serien-Nr. eines beliebigen Laufwerks ermitteln Eine Funktion, die die Seriennummer eines Laufwerks ermittelt und zurückgibt. | ||
Autor: Dieter Otter | Bewertung: | Views: 9.147 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit nachfolgendem Code lässt sich die Seriennummer eines Datenträgers ermittelt. Hierbei handelt es sich um die Seriennummer, die beim Formatieren des Datenträgers vom System vergeben wurde.
' API-Funktion zum Ermitteln der Seriennummer eines Laufwerks Private Declare Auto Function GetVolumeInformation Lib "kernel32" ( _ ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Int32, _ ByRef lpVolumeSerialNumber As Int32, _ ByVal lpMaximumComponentLength As Int32, _ ByVal lpFileSystemFlags As Int32, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Int32) As Int32
''' <summary> ''' Ermittelt die Seriennummer des angebenen Laufwerks ''' </summary> ''' <param name="Drive">Laufwerk</param> ''' <remarks>Gibt die Seriennummer zurück, die beim Formatieren des ''' Laufwerks vom System vergeben wurde.</remarks> Public Function DriveSerialNumber(ByVal Drive As String) As Integer Dim SerialNo As Int32 Dim VolName As String = Strings.Space(255) Dim SysName As String = Strings.Space(255) If Drive.Length = 1 Then Drive &= ":" GetVolumeInformation(Drive, VolName, VolName.Length, SerialNo, 0, 0, _ SysName, SysName.Length) Return SerialNo End Function
Aufrufbeispiel:
' Seriennummer von Laufwerk C: Dim sNo As Integer = DriveSerialNumber("C:")