都给我分啊??!!多谢多谢了
Public Function FreeSpace(ByVal CheckDisk As String) As Long
Dim Zsize As LARGE_INTEGER, Asize As LARGE_INTEGER, Fsize As LARGE_INTEGER
Dim ret As Long, gLMB As Long, gHMB As Long
Dim i As Integer
    ret = GetDiskFreeSpaceEx(CheckDisk, Asize, Zsize, Fsize)
    If Fsize.lowpart < 0 Then Fsize.highpart = Fsize.highpart + 1
    gLMB = Fsize.lowpart / 1024 / 1024
    gHMB = 4096 * Fsize.highpart
    FreeSpace = gLMB + gHMB
End Function

解决方案 »

  1.   

    为了让你觉得有所值,再附上
    GetDiskFreeSpace VB声明 
    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 
    说明 
    获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    lpRootPathName String,不包括卷名的一个磁盘根路径 
    lpSectorsPerCluster Long,用于装载一个簇内扇区数的变量 
    lpBytesPerSector Long,用于装载一个扇区内字节数的变量 
    lpNumberOfFreeClusters Long,用于装载磁盘上剩余簇数的变量 
    lpTtoalNumberOfClusters Long,用于装载磁盘上总簇数的变量 
    注解 
    在采用FAT16格式的windows95系统中,如一个驱动器(分区)的容量超过了2GB,则不应使用这个函数。此时,这个函数能识别的最大分区容量只有2GB
     GetDiskFreeSpaceEx VB声明 
    Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long 
    说明 
    获取与一个磁盘的组织以及剩余空间容量有关的信息 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    lpRootPathName String,不包括卷名的磁盘根路径名 
    lpFreeBytesAvailableToCaller LARGE_INTEGER,指定一个变量,用于容纳调用者可用的字节数量 
    lpTotalNumberOfBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上的总字节数 
    lpTotalNumberOfFreeBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上可用的字节数 
    适用平台 
    Windows 95 OSR2,Windows NT 4.0 
    注解 
    LARGE_INTEGER结构与FILETIME结构在内部完全一致。正式调用前,用GetVersionEx判断函数是否得到了支持。在Windows 95 OSR2环境中,OSVERSIONINFO结构的dwBuildNumbe字段会大于1000
     LARGE_INTEGER 类型定义 
    Type LARGE_INTEGER ' 8 Bytes
    lowpart As Long
    highpart As Long
    End Type 
    说明 
    This structure represents a 64-bit integer. The lowpart field is the lower 32 bits of the integer and the highpart field is the upper 32 bits of the integer. 
    注解 
    参考GetDiskFreeSpaceEx函数的注解