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;
还有DeviceIoControl查询设备找找资料的
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;