vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
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:     [ Jetzt bewerten ]Views:  15.904 
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

Dieser Tipp wurde bereits 15.904 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel