首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-01-02 
关于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呢?

热点排行