Private Declare Function GetDiskFreeSpaceEx 
Lib "kernel32" 
Alias "GetDiskFreeSpaceExA" (
ByVal lpRootPathName 
As String, lpFreeBytesAvailableToCaller 
As Currency, lpTotalNumberOfBytes 
As Currency, lpTotalNumberOfFreeBytes 
As Currency) 
As Long
Private Sub Form_Load()
    
Dim r 
As Long, BytesFreeToCalller 
As Currency, TotalBytes 
As Currency
    Dim TotalFreeBytes 
As Currency, TotalBytesUsed 
As Currency
    'the drive to find
    Const RootPathName = "C:\"
    
'get the drive's disk parameters
    Call GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)
    
'show the results, multiplying the returned
    'value by 10000 to adjust for the 4 decimal
    'places that the currency data type returns.
    Me.AutoRedraw = 
True
    Me.Cls
    
Me.
Print
    Me.
Print " Total Number Of Bytes:", Format$(TotalBytes * 10000, "###,###,###,##0"

 & " bytes"
    
Me.
Print " Total Free Bytes:", Format$(TotalFreeBytes * 10000, "###,###,###,##0"

 & " bytes"
    
Me.
Print " Free Bytes Available:", Format$(BytesFreeToCalller * 10000, "###,###,###,##0"

 & " bytes"
    
Me.
Print " Total Space Used :", Format$((TotalBytes - TotalFreeBytes) * 10000, "###,###,###,##0"

 & " bytes"
End Sub