关于getDiskFreeSpace() 这个API,该怎么处理

关于getDiskFreeSpace()这个API我的C盘总容量是50G,和上面是结果不一致啊,代码哪里有问题么?[解决办法]用g

关于getDiskFreeSpace() 这个API



我的C盘总容量是50G,和上面是结果不一致啊,代码哪里有问题么?
[解决办法]
用getDiskFreeSpaceex,getDiskFreeSpace已过时了
[解决办法]
var
  Available, TotalSpace: Int64;
begin
  Available := 0;
  TotalSpace := 0;
  if GetDiskFreeSpaceEx('C:', Available, TotalSpace, nil) then
  begin
    Label3.Caption := FormatFloat('###0.# MB', TotalSpace / 1024 / 1024);
    Label4.Caption  := FormatFloat('###0.# MB', Available / 1024 / 1024);
  end;
end;

[解决办法]
整数溢出了.用这个

var
  snumber,sbyte,remainc,sumc:dword;
  n : int64;
begin
  getDiskFreeSpace('c:\',snumber,sbyte,remainc,sumc); //C盘
  n := sumc*snumber*sbyte;
  label3.Caption:=intTostr(n div(1024*1024))+' M'; //计算总容量
  n := remainc*snumber*sbyte;
  label4.Caption:=intTostr(n div(1024*1024))+' M'; //计算剩余容量
end;

话说你为什么是1024*2呢?