VB - Homepage Tipp 100

Datenträgereigenschaften ermitteln

Was mit VB3 geht, sollte mit VB 32Bit auf jeden Fall auch möglich sein.
Und so soll hier ein Tipp folgen, der für VB 16Bit schon vorgestellt wurde.

Es geht um das Ermitteln des freien Speichers eines Datenträgers.
Wie so oft, kommen Sie an die gewünschten Informationen nur über API.

Erstellen Sie sich ein neues Projekt und fügen Sie einen Commandbutton (Command1) und eine Listbox (List1) hinzu.

Nun fügen Sie folgendes Ihrem Projekt hinzu
Allgemeines/Deklarationen
Option Explicit
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long
Dim SectorsPerCluster&, BytesPerSector&, NumberOfFreeClustors&, TotalNumberOfClustors&

Allgemeines/FreierSpeicher 'entsteht durch das hinzufügen des Codes
Public Sub FreierSpeicher(LW$)
Dim Rückgabewert&
Dim FreiSpeicher&
Dim Übergabe$

'Hier lassen sich auch noch mehr Angaben zum Datenträger ermitteln
Rückgabewert& = GetDiskFreeSpace(LW$, SectorsPerCluster, BytesPerSector, NumberOfFreeClustors, TotalNumberOfClustors)
FreiSpeicher& = NumberOfFreeClustors * SectorsPerCluster * BytesPerSector / 1048576 'Umrechnung Bytes in MegaBytes
'Bei Rückgabewert=0 LW nicht vorhanden oder kein Datenträger eingelegt

If Rückgabewert& = 1 Then List1.AddItem "Laufwerk " + LW$ + " " + Format(FreiSpeicher&, "#,0") + " MB"
End Sub

Command1_Click
FreierSpeicher ("C:\") 'oder jedes andere Laufwerk

In der Listbox wird Ihnen nun der freie Speicherplatz in MB angezeigt.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite