Rubrik: Dateisystem · Laufwerke | VB-Versionen: VB4, VB5, VB6 | 01.11.00 |
Serien-Nr. und Datenträgerbezeichnung auslesen Hier wird gezeigt, wie man mittels der Windows-API die die Seriennummer und die Datenträgerbezeichnung eines bestimmten Laufwerks auslesen kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 32.377 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit nachfolgender Routine lassen sich die Seriennummer und die Datenträgerbezeichnung eines bestimmten Laufwerks auslesen.
' Zunächst die benötigten API-Deklarationen Declare Function GetVolumeInformation Lib "kernel32" _ 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 ' Die nachfolgende Routine ermittelt anhand des ' Laufwerkbuchstabens die Seriennumer und die Datenträger- ' bezeichnung des Laufwerks Public Sub LaufwerksInfo(ByVal Drive As String,_ SerialNo As Long, VolName As String) ' Der Parameter Drive gibt das Laufwerk an ' z.B. A:, C:, ... ' SerialNo und VolInfo werden zurückgegeben Dim sName As String * 255 VolName = Space$(255) If Len(Drive) < 2 Then Drive = Drive + ":" If Len(Drive) < 3 Then Drive = Drive + "\" Call GetVolumeInformation(Left$(Drive, 3), VolName, _ Len(VolName), SerialNo, 0&, 0&, sName, Len(sName)) If InStr(VolName, Chr$(0)) > 0 Then_ VolName = Left$(VolName, InStr(VolName, Chr$(0)) - 1) End Sub