Laufwerke erkennen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von xtts02.

    Laufwerke erkennen

    Hallo!

    Es sollen alle Laufwerke in einer ListView angezeigt werden (Listen-Ansicht). Dabei soll erkannt werden, ob es sich um ein Disketten-Laufwerk, Festplatte, CD-ROM-Laufwerk, externer Datenträger, etc. handelt. Diese werden mit verschiedenen Symbolen aus einer ImageList versehen. Vielleicht ist auch möglich, außer dem Laufwerksbuchstaben auch den Namen des Laufwerks mit anzuzeigen (z.B. C:\ (System)).
    Ich dachte da an soetwas:

    VB.NET-Quellcode

    1. For Each LWs As String In
    2. My.Computer.FileSystem.GetDriveInfo
    3. Me.ListView1.Items.Add(LWs)
    4. Next


    Allerdings erwartet GetDriveInfo einen Laufwerksbuchstaben, ohne wissen, ob dieses überhaupt existiert. Und wenn man es mit

    VB.NET-Quellcode

    1. My.Computer.FileSystem.GetDriveInfo("A:\")
    versucht, erscheint eine Meldung, das der Ausdruck keine Auflistung ist. Und wie kann aus einem Laufwerksbuchstaben herrausfinden, ob es eine CD, Festplatte, usw. ist?
    Beispiel:

    VB.NET-Quellcode

    1. For Each drv In IO.DriveInfo.GetDrives
    2. Debug.Print("---")
    3. Debug.Print("Name: {0}", drv.Name)
    4. Debug.Print("Type: {0}", drv.DriveType.ToString)
    5. If drv.IsReady Then
    6. Debug.Print("Label: {0}", drv.VolumeLabel)
    7. Debug.Print("Format: {0}", drv.DriveFormat)
    8. Debug.Print("FreeSpace: {0} MB", (drv.AvailableFreeSpace / 1024 / 1024).ToString("N"))
    9. End If
    10. Next