|
调用API函数得到磁盘上剩余空间的值
最直接的方法是调用API函数 GetDiskFreeSpace,函数声明如下:
声明:
Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long
使用:
Private Sub Form_Load() 'VB Man 2001 'URL: http://goodvbman.yeah.net 'E-Mail: coolde@21cn.com
Dim Sectors as Long,Bytes as Long,FreeC as Long, TotalC as Long,Total as Long,Freeb as Long
'Retrieve information about the C:\ GetDiskFreeSpace "C:\", Sectors, Bytes, Freec, Totalc
'Set graphic mode to persistent Me.AutoRedraw = True
'Print the information to the form Me.Print " Path: C:\" Me.Print " Sectors per Cluster:" + Str$(Sector) Me.Print " Bytes per sector:" + Str$(Bytes) Me.Print " Number Of Free Clusters:" + Str$(Freec) Me.Print " Total Number Of Clusters:" + Str$(Totalc) Total = rTotalc& * rSector& * rBytes& Me.Print " Total number of bytes in path:" + Str$(Total) Freeb = rFreec& * rSector& * rBytes& Me.Print " Free bytes:" + Str$(Freeb) End sub
计算规则:磁盘上剩余空间(字节)=磁道(Sector) *剩余扇区 *每扇区的字节数
|