用一个COMBOX控件,下面有几项。C ,D ,E。分边带表C,D,E盘。
选哪一个盘就把哪个盘的,总容量和剩容量打出来。可以显在文本框里。
总容量和剩容量怎么得到呀!这么简单的问题...大家帮忙呀!

解决方案 »

  1.   

    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
     
      

  2.   

    我错了!!!大哥们帮忙了!!!
    这个API不会用哇我是玩C++的!!
    救命了!!!!!!!!!!!!!!!!!!!
      

  3.   

    Dim fsoTest As New FileSystemObject
    Dim drv1 As Drive, sReturn As String
    '由于FSO对象包含在Scripting 类型库 (Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“Microsoft Scripting Runtime”前的复选框,然后单击“确定”。Private Sub Combo1_Click()
    Set drv1 = fsoTest.GetDrive(Combo1.Text)
    sReturn = "Drive " & Combo1.Text & vbCrLf
    sReturn = sReturn & "VolumeName" & drv1.VolumeName & vbCrLf
    sReturn = sReturn & "Total Space: " & FormatNumber(drv1.TotalSize / 1024, 0)
    sReturn = sReturn & "Kb" & vbCrLf
    sReturn = sReturn & "Free Space: " & FormatNumber(drv1.FreeSpace / 1024, 0)
    sReturn = sReturn & "Kb" & vbCrLf
    sReturn = sReturn & "FileSystem:" & drv1.FileSystem & vbCrLf
    Text1.Text = sReturnEnd SubPrivate Sub Form_Load()
    For Each drv1 In fsoTest.Drives
          
         Combo1.AddItem drv1.DriveLetter
    Next
    End Sub