Rubrik: Dateisystem · Laufwerke | VB-Versionen: VB5, VB6 | 11.11.05 |
Seriennummer der Festplatte (WMI) Mit diesem Code lässt sich die Seriennummer eines bestimmten Datenträger-Laufwerks auslesen | ||
Autor: Dieter Otter | Bewertung: | Views: 17.813 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die Seriennummer eines bestimmten Datenträgers lässt sich auf verschiedene Weise ermitteln:
Siehe hierzu auch: Serien-Nr. und Datenträgerbezeichnung auslesen
Wenn sichergestellt ist, dass WMI auf dem System installiert ist (auf Win2000/XP autom. vorhanden), kann die Seriennumer auch bequem über das WMI-Objekt ermittelt werden.
' Seriennumer des angegebenen Laufwerks ermitteln Public Function GetVolSerialNo(ByVal sDrive As String) As Long Dim sComputer As String Dim oWMI As Object Dim oDrives As Object Dim oDrive As Object ' Fehlerbehandlung aktivieren On Error Goto ErrHandler sDrive = UCase$(sDrive) If Len(sDrive) > 2 Then sDrive = Left$(sDrive, 2) If Right$(sDrive, 1) <> ":" Then sDrive = sDrive & ":" ' aktuelles System sComputer = "." ' WMI-Objekt erstellen Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _ & sComputer & "\root\cimv2") ' WMI-Abfrage erstellen Set oDrives = oWMI.ExecQuery("Select * from Win32_LogicalDisk WHERE DeviceID='" & sDrive & "'") For Each oDrive In oDrives ' SerialNo von HEX-Darstellung nach Long-Wert umwandeln GetVolSerialNo = CLng("&H" & oDrive.VolumeSerialNumber) Exit For Next On Error Goto 0 Exit Function ErrHandler: ' Fehler! ' Entweder kein WMI installiert oder ungültige Laufwerksangabe On Error Goto 0 End Function
Beispiel für den Aufruf:
Dim nSerialNo As Long nSerialNo = GetVolSerialNo("C:")