Festplattenspeicher auslesen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von ChaosBernd.

    So, ich kriegs jetzt hin den Festplattenspeicher auslesen zu lassen. Ich will jetzt aber den Festplattenspeicher auslesen lassen, ohne vorher die Festplattenmenge zu kennen, das soll der PC selbst herausfinden. Wie geht das?

    Und wie kann ich den benutzten bzw. den gesamten Festplattenspeicher auslesen lassen??
    Du brauchst erstmal eine ListView1, dann diesen Code:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. ListView1.View = View.Details
    5. ListView1.LabelEdit = True
    6. ListView1.AllowColumnReorder = True
    7. ListView1.FullRowSelect = True
    8. ListView1.GridLines = True
    9. ListView1.Sorting = SortOrder.Ascending
    10. ListView1.Columns.Add("Laufwerk", 100, HorizontalAlignment.Left)
    11. ListView1.Columns.Add("Gesamtgrösse in MB", 150, HorizontalAlignment.Left)
    12. ListView1.Columns.Add("Belegter Speicher in MB", 150, HorizontalAlignment.Left)
    13. ListView1.Columns.Add("Freier Speicher in MB", 150, HorizontalAlignment.Left)
    14. ListView1.Columns.Add("Bezeichnung", 150, HorizontalAlignment.Left)
    15. Try
    16. For Each drive As DriveInfo In My.Computer.FileSystem.Drives
    17. Dim item1 As New ListViewItem(drive.Name)
    18. ListView1.Items.Add(item1)
    19. item1.SubItems.Add(Format(CDbl(drive.TotalSize / 1024 / 1024), ".")) 'auf z.B. 2 Stellen hinterm komma abrunden = ".00"
    20. item1.SubItems.Add(Format(CDbl((drive.TotalSize - drive.AvailableFreeSpace) / 1024 / 1024), "."))
    21. item1.SubItems.Add(Format(CDbl(drive.AvailableFreeSpace / 1024 / 1024), "."))
    22. item1.SubItems.Add(drive.VolumeLabel)
    23. Next
    24. Catch ex As Exception
    25. End Try
    26. End Sub
    27. End Class


    Viel Spass, Ciao...

    Adam schrieb:

    Du brauchst erstmal eine ListView1, dann diesen Code:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. ListView1.View = View.Details
    5. ListView1.LabelEdit = True
    6. ListView1.AllowColumnReorder = True
    7. ListView1.FullRowSelect = True
    8. ListView1.GridLines = True
    9. ListView1.Sorting = SortOrder.Ascending
    10. ListView1.Columns.Add("Laufwerk", 100, HorizontalAlignment.Left)
    11. ListView1.Columns.Add("Gesamtgrösse in MB", 150, HorizontalAlignment.Left)
    12. ListView1.Columns.Add("Belegter Speicher in MB", 150, HorizontalAlignment.Left)
    13. ListView1.Columns.Add("Freier Speicher in MB", 150, HorizontalAlignment.Left)
    14. ListView1.Columns.Add("Bezeichnung", 150, HorizontalAlignment.Left)
    15. Try
    16. For Each drive As DriveInfo In My.Computer.FileSystem.Drives
    17. Dim item1 As New ListViewItem(drive.Name)
    18. ListView1.Items.Add(item1)
    19. item1.SubItems.Add(Format(CDbl(drive.TotalSize / 1024 / 1024), ".")) 'auf z.B. 2 Stellen hinterm komma abrunden = ".00"
    20. item1.SubItems.Add(Format(CDbl((drive.TotalSize - drive.AvailableFreeSpace) / 1024 / 1024), "."))
    21. item1.SubItems.Add(Format(CDbl(drive.AvailableFreeSpace / 1024 / 1024), "."))
    22. item1.SubItems.Add(drive.VolumeLabel)
    23. Next
    24. Catch ex As Exception
    25. End Try
    26. End Sub
    27. End Class


    Viel Spass, Ciao...

    Hallo, ich wollte mir meine Festplatten auch anzeigen lassen.
    Bin dabei als es nicht funktioniert hat auf deinen Beitrag gestoßen.
    Hab es einfach mal versucht so zu verwenden wie du es geschrieben hast, jedoch zeit er mir nur dei header in der listview an und füllt sie nicht.

    Benutze VB2008exp. & Win 7 Prof.

    Hast du nen Tipp für mich, wie ich das Proble, lösen kann?

    mfg Basti
    OK dann schau dir den LaufwerkType mal an
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. ListBox1.Items.Clear()
    4. On Error Resume Next
    5. For Each mydrive As IO.DriveInfo In IO.DriveInfo.GetDrives
    6. Dim listitem As String = mydrive.Name & " (" & mydrive.VolumeLabel & ", "
    7. Select Case mydrive.DriveType
    8. Case IO.DriveType.CDRom
    9. listitem &= "CD"
    10. Case IO.DriveType.Fixed
    11. listitem &= "Fixed"
    12. Case IO.DriveType.Network
    13. listitem &= "Netzwerk"
    14. Case IO.DriveType.Removable
    15. listitem &= "Externes Peripheriegerät"
    16. Case Else
    17. listitem &= "Unlesbar"
    18. End Select
    19. listitem &= ")"
    20. ListBox1.Items.Add(listitem)
    21. Next
    22. End Sub
    23. End Class

    ChaosBernd schrieb:

    OK dann schau dir den LaufwerkType mal an
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. ListBox1.Items.Clear()
    4. On Error Resume Next
    5. For Each mydrive As IO.DriveInfo In IO.DriveInfo.GetDrives
    6. Dim listitem As String = mydrive.Name & " (" & mydrive.VolumeLabel & ", "
    7. Select Case mydrive.DriveType
    8. Case IO.DriveType.CDRom
    9. listitem &= "CD"
    10. Case IO.DriveType.Fixed
    11. listitem &= "Fixed"
    12. Case IO.DriveType.Network
    13. listitem &= "Netzwerk"
    14. Case IO.DriveType.Removable
    15. listitem &= "Externes Peripheriegerät"
    16. Case Else
    17. listitem &= "Unlesbar"
    18. End Select
    19. listitem &= ")"
    20. ListBox1.Items.Add(listitem)
    21. Next
    22. End Sub
    23. End Class

    Also mit deinem Code zeigt er mir alle an, jedoch stet bei meiner 1TB Festplatte genau so fixed, wie Bei C:/ obwohl sie mir in meinem eigendlichen Programm nicht angezeig wird.
    du must vom prinzip zwei funktionen basteln.

    1. Funktion ermittelt alle Laufwerke die du haben möchtest.
    die werden dann in eine ListBox, List(Of String, oder Array geparkt
    2. Funktion geht dann durch deine List(Of String) und ruft dann die Files ab.

    mit all den den hier gezeigten Codes kommst du ans ziehl.

    weitehin kannst du noch prüfen ob die Laufwerke überhaupt Ready sind.
    das heist wenn im CD-Rom nix drin ist soll er das überspringen

    ansonsten müsste eigentlich alles dabei sein.