代码如下:

procedure TForm1.N19Click(Sender: TObject);
//获取磁盘空间信息 WinAPI:GetDiskFreeSpaceEx;
var
  dfree,dg,p: int64;
begin
  if GetDiskFreeSpaceEx('f:',dfree,dg,@p) then
  begin
    Memo1.Clear;
    with Memo1.Lines do
    begin
      Add('F盘磁盘信息:');
      Add('');
      Add(Format('可用空间 %f GB',[dfree/1024/1024/1024]));
      Add(Format('总空间 %f GB',[dg/1024/1024/1024]));
      Add(Format('剩余空间 %f GB',[p/1024/1024/1024]));
    end;
  end
  else
  ShowMessage('获取磁盘空间信息失败');
end;

 

下面是函数分析:

GetDiskFreeSpaceEx(  
  lpDirectoryName: PChar;         //磁盘根路径,如'c:'  
  var lpFreeBytesAvailableToCaller: Int64; //可用空间  
  var lpTotalNumberOfBytes: Int64;    //总空间  
  TotalFree: PInt64;      //剩余空间,此参数可为NULL  
  ): BOOL;             //如果函数成功,返回值为非零,否则为零 

 

 

 

posted on 2010-11-06 11:15  巅枫  阅读(994)  评论(0)    收藏  举报