代码如下:
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; //如果函数成功,返回值为非零,否则为零