vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem · Laufwerke   |   VB-Versionen: VB4, VB5, VB606.11.03
Ermittlung von Laufwerksinformationen per WMI

Dieser Tipp zeigt, wie sich die verschiedensten Informationen eines Laufwerks mit Hilfe des WMI-Objekts ermitteln lassen.

Autor:   Gerhard KuklauBewertung:  Views:  15.931 
ohne HomepageSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Unser heutiger Tipp zeigt, wie sich die verschiedensten Informationen eines Laufwerks mit Hilfe des WMI-Objekts ermitteln lassen. Voraussetzung hierfür ist Win2000 oder höher. Bei älteren Betriebssystemen muss WMI separat "nach-installiert" werden.

Für das nachfolgende Beispiel benötigen Sie:

  • eine TextBox (Text1)
  • ein Command-Button (Command1)
  • sowie ein ListBox-Control (List1)

Die TextBox dient zur Eingabe des Computers, dessen Laufwerke analysiert werden sollen. "." ist der aktuelle Computer.

Fügen Sie nun nachfolgenden Code in das Code-Fenster der Form ein:

Option Explicit
 
Private Sub Form_Load()
  ' Computer, dessen Laufwerk-Infos
  ' ermittelt werden sollen
  Text1.Text = "."
End Sub
' Ermittlung von Laufwerksinformationen per WMI:
' ==============================================
' Voraussetzungen für das Beispiel:
'   - Windows2000 oder höher
'   Das Beispiel könnte auch unter NT4 mit installiertem
'   WMI eingesetzt werden, verursacht dort aber einen
'   Laufzeitfehler, der auf das Fehlen eines Objektes
'   hindeutet.
' 
' Was wird für dieses Beispiel gebraucht?
'   - ein neues Projekt  (Name: frei wählbar)
'   - eine Form          (Name: frei wählbar)
'   - ein Command-Button (Name: Command1)
'   - eine Listbox       (Name: List1)
' 
' Kopieren Sie diesen Code in den Code-Teil der Form
' und starten das Projekt mit F5
' 
Private Sub LaufwerksInfo()
  Dim objWMI As Object
  Dim colClass As Object
  Dim objClass As Object
  Dim strComputer As String
  Dim strMeldung As String
 
  ' Name des Computers ( "." ist der aktuelle Computer, also dieser )
  strComputer = Text1.Text
  If strComputer = "" Then strComputer = "."
 
  Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  Set colClass = objWMI.ExecQuery("Select * from Win32_LogicalDisk", , 48)
 
  On Error Resume Next
  With List1
    .Clear
    .AddItem "Laufwerksinformationen per WMI:"
    .AddItem "==============================="
    .AddItem ""
 
    ' alle Objekte der Collection-Class LogicalDisk:
    ' ==============================================
    For Each objClass In colClass
      .AddItem "DeviceID: " & objClass.DeviceId
      .AddItem "  DriveType: " & objClass.drivetype
      .AddItem "  FileSystem: " & objClass.FileSystem
      .AddItem "  Description: " & objClass.Description
      .AddItem "  MediaType: " & objClass.MediaType
      .AddItem "  Size (KB): " & FormatNumber(objClass.Size / 1024, "0")
      .AddItem "  FreeSpace (KB): " & FormatNumber(objClass.FreeSpace / 1024, "0")
      .AddItem ""
    Next
  End With
 
  ' Objekte zerstören
  Set objWMI = Nothing
  Set colClass = Nothing
  Set objClass = Nothing
End Sub
Private Sub Command1_Click()
  ' Laufwerk-Infos in der ListBox anzeigen
  Screen.MousePointer = 11
  LaufwerksInfo
  Screen.MousePointer = 0
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.