PBDR.COM

About   -   Contact   -   Purchase   -   Search   -   What's New

 

Last Updated 09 June, 2007

Get Free Disk Space
This function returns number of Mbytes of free disk space when passed the drive letter to be interrogated. Add the following code to a FileHandling.bas standard module to compile a File Utility function set:
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
Function GetFreeDiskSpace(Drive As String) As Single
'*******************************************************
'<DESC>		Interrogates available disk free space in
'		Mbytes on specified drive</DESC>
'<RETURN>	Free drive capacity (Mb)
'			</RETURN>
'<ACCESS>	Public
'<ARGS>		Drive to Interrogate
'				</ARGS>
'<USAGE>	sngDriveSpace = GetFreeDiskSpace("c:\")
'				</USAGE>
'*******************************************************
    
    Dim lngSectors_per_cluster As Long
    Dim lngBytes_per_sector As Long
    Dim lngFree_clusters As Long
    Dim lngTotal_clusters As Long
    
    If GetDiskFreeSpace(Drive, lngSectors_per_cluster, _
      lngBytes_per_sector, lngFree_clusters, _
      lngTotal_clusters) = 0 Then
        GetFreeDiskSpace = -1
    Else
        GetFreeDiskSpace = Format$(((lngFree_clusters / 1000000) * _
          lngSectors_per_cluster * lngBytes_per_sector), _
          "##,###.00")
    End If

End Function
    
 

Top of Page

Legal Notice

© Ken Howe 2006