我的电脑有多个硬盘,每个硬盘上有不同的分区,我现在想要求出它的总的磁盘空间,以及空闲磁盘空间,应该怎么做呢 谢谢

解决方案 »

  1.   

    GetDiskFreeSpaceEx
    还有DeviceIoControl查询设备找找资料的
      

  2.   

    const GB=1024*1024*1024;
    var Available,Total,Free:Int64;
        AvailableT,TotalT:real;
        Drive:Char;
    begin
      AvailableT:=0;
      TotalT:=0;
      for Drive:='C' to 'Z' do
        if GetDriveType(Pchar(Drive+':\'))=DRIVE_FIXED then
            begin
              GetDiskFreeSpaceEx(PChar(Drive+':\'),Available,Total,@Free);
              AvailableT:=AvailableT+Available;
              TotalT:=TotalT+Total;
            end;
      ShowMessage(Format('总剩余空间:%.2fGB  总容量:%.2fGB',[AvailableT/GB,TotalT/GB]));
    end;
      

  3.   

    先用getdiskfreespaceex函数得到每个磁盘的空余空间然后加一起应该就可以了吧