Festplattenspeicher auslesen
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von ChaosBernd.
-
-
Stichwort WMI: Win32_DiskDrive, Win32_DiskPartition, Win32_LogicalDisk
Damit kannst du sämtliche Daten einer Festplatte oder Partition auslesen.
Viel Spaß beim Durchstöbern -
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
- Imports System.IO
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- ListView1.View = View.Details
- ListView1.LabelEdit = True
- ListView1.AllowColumnReorder = True
- ListView1.FullRowSelect = True
- ListView1.GridLines = True
- ListView1.Sorting = SortOrder.Ascending
- ListView1.Columns.Add("Laufwerk", 100, HorizontalAlignment.Left)
- ListView1.Columns.Add("Gesamtgrösse in MB", 150, HorizontalAlignment.Left)
- ListView1.Columns.Add("Belegter Speicher in MB", 150, HorizontalAlignment.Left)
- ListView1.Columns.Add("Freier Speicher in MB", 150, HorizontalAlignment.Left)
- ListView1.Columns.Add("Bezeichnung", 150, HorizontalAlignment.Left)
- Try
- For Each drive As DriveInfo In My.Computer.FileSystem.Drives
- Dim item1 As New ListViewItem(drive.Name)
- ListView1.Items.Add(item1)
- item1.SubItems.Add(Format(CDbl(drive.TotalSize / 1024 / 1024), ".")) 'auf z.B. 2 Stellen hinterm komma abrunden = ".00"
- item1.SubItems.Add(Format(CDbl((drive.TotalSize - drive.AvailableFreeSpace) / 1024 / 1024), "."))
- item1.SubItems.Add(Format(CDbl(drive.AvailableFreeSpace / 1024 / 1024), "."))
- item1.SubItems.Add(drive.VolumeLabel)
- Next
- Catch ex As Exception
- End Try
- End Sub
- End Class
Viel Spass, Ciao... -
-
Adam schrieb:
Du brauchst erstmal eine ListView1, dann diesen Code:
VB.NET-Quellcode
- Imports System.IO
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- ListView1.View = View.Details
- ListView1.LabelEdit = True
- ListView1.AllowColumnReorder = True
- ListView1.FullRowSelect = True
- ListView1.GridLines = True
- ListView1.Sorting = SortOrder.Ascending
- ListView1.Columns.Add("Laufwerk", 100, HorizontalAlignment.Left)
- ListView1.Columns.Add("Gesamtgrösse in MB", 150, HorizontalAlignment.Left)
- ListView1.Columns.Add("Belegter Speicher in MB", 150, HorizontalAlignment.Left)
- ListView1.Columns.Add("Freier Speicher in MB", 150, HorizontalAlignment.Left)
- ListView1.Columns.Add("Bezeichnung", 150, HorizontalAlignment.Left)
- Try
- For Each drive As DriveInfo In My.Computer.FileSystem.Drives
- Dim item1 As New ListViewItem(drive.Name)
- ListView1.Items.Add(item1)
- item1.SubItems.Add(Format(CDbl(drive.TotalSize / 1024 / 1024), ".")) 'auf z.B. 2 Stellen hinterm komma abrunden = ".00"
- item1.SubItems.Add(Format(CDbl((drive.TotalSize - drive.AvailableFreeSpace) / 1024 / 1024), "."))
- item1.SubItems.Add(Format(CDbl(drive.AvailableFreeSpace / 1024 / 1024), "."))
- item1.SubItems.Add(drive.VolumeLabel)
- Next
- Catch ex As Exception
- End Try
- End Sub
- 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
- Public Class Form1
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- ListBox1.Items.Clear()
- On Error Resume Next
- For Each mydrive As IO.DriveInfo In IO.DriveInfo.GetDrives
- Dim listitem As String = mydrive.Name & " (" & mydrive.VolumeLabel & ", "
- Select Case mydrive.DriveType
- Case IO.DriveType.CDRom
- listitem &= "CD"
- Case IO.DriveType.Fixed
- listitem &= "Fixed"
- Case IO.DriveType.Network
- listitem &= "Netzwerk"
- Case IO.DriveType.Removable
- listitem &= "Externes Peripheriegerät"
- Case Else
- listitem &= "Unlesbar"
- End Select
- listitem &= ")"
- ListBox1.Items.Add(listitem)
- Next
- End Sub
- End Class
-
-
ja, das ist ja auch nur um herauszufinden welcher LaufwerkType es ist.
weil seine frage bezog sich auf
beule1808 schrieb:
Und mein CD-Laufwerk zeigt er mir an, was ich nicht möchte.
nun die schleifen ineinander verschateln, und dann ist das erwünschte ergebnis da. -
ChaosBernd schrieb:
OK dann schau dir den LaufwerkType mal an
Spoiler anzeigen VB.NET-Quellcode
- Public Class Form1
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- ListBox1.Items.Clear()
- On Error Resume Next
- For Each mydrive As IO.DriveInfo In IO.DriveInfo.GetDrives
- Dim listitem As String = mydrive.Name & " (" & mydrive.VolumeLabel & ", "
- Select Case mydrive.DriveType
- Case IO.DriveType.CDRom
- listitem &= "CD"
- Case IO.DriveType.Fixed
- listitem &= "Fixed"
- Case IO.DriveType.Network
- listitem &= "Netzwerk"
- Case IO.DriveType.Removable
- listitem &= "Externes Peripheriegerät"
- Case Else
- listitem &= "Unlesbar"
- End Select
- listitem &= ")"
- ListBox1.Items.Add(listitem)
- Next
- End Sub
- 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.
-
Ähnliche Themen
-
YoshiX650 - - Off-Topic
-
1 Benutzer hat hier geschrieben
- Gast (12)