Conoscere lo Spazio libero sul Disco

Per sapere lo spazio libero sul disco bisogna utilizzare le API richiamando la funzione GetDiskFreeSpaceEx.

Ecco qui un esempio del suo utilizzo.

Immettere, preferibilmente in un modulo Bas, la dichiarazione seguente:

Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long

Inserire in un Form un CommandButton.
Settare la proprietà AutoRedraw=True

Inserire il seguente codice:

Private Sub Command1_Click()
Unload Me
End
End Sub

Private Sub Form_Load()
'variabile di temporanea per raccogliere i parametri del disk drive
Dim r As Long
'Byte Liberi Utilizzabili
Dim BytesFreeToCalller As Currency
'Numero Totale di Byte
Dim TotalBytes As Currency
'Totale Byte Liberi
Dim TotalFreeBytes As Currency
'il drive da controllare
Dim RootPathName As String

'assegna il drive da controllare
RootPathName = "C:\"
'raccogli i parametri del disk drive
r = GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)
'mostra i risultati, moltiplicando il valore ottenuto * 10000 per mettere a posto i 4 decimali che il tipo di dati currency include.
Cls
Print
Print " Numero Totale di Byte:", _
Format$(TotalBytes * 10000, "#,#0") & " bytes"
Print " Totale Byte Liberi:", _
Format$(TotalFreeBytes * 10000, "#,#0") & " bytes"
Print " Byte Liberi Utilizzabili:", _
Format$(BytesFreeToCalller * 10000, "#,#0") & " bytes"
Print " Totale Spazio Usato:", _
Format$((TotalBytes - TotalFreeBytes) * 10000, "#,#0") & " bytes"
End Sub

Testato su: Windows 98, Windows Me, Windows 2000 Professional