首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 調用 WinAPI:GetDiskFreeSpaceEx 獲取磁盤容量

     編輯:Delphi

獲取磁盤可用/總/剩餘空間:支援大於 2GB 磁盤

GetDiskFreeSpaceEx 使用 64 位整數(Int64/TLargeInteger)返回磁盤空間資訊,解決舊版 GetDiskFreeSpace 无法处理 2GB 以上磁盤的限制。

函數聲明

function GetDiskFreeSpaceEx(
  lpDirectoryName: PChar;                    {磁盤根路徑,如 'C:'}
  var lpFreeBytesAvailableToCaller: Int64;   {調用者可用空間}
  var lpTotalNumberOfBytes: Int64;           {總空間}
  lpTotalNumberOfFreeBytes: PInt64           {剩餘空間}
): BOOL;

使用示例

procedure TForm1.FormCreate(Sender: TObject);
var d1, d2, d3: Int64;
begin
  GetDiskFreeSpaceEx('C:', d1, d2, @d3);
  Memo1.Clear;
  with Memo1.Lines do
  begin
    Add(Format('可用空間: %.2f GB', [d1 / 1024 / 1024 / 1024]));
    Add(Format('總空間: %.2f GB', [d2 / 1024 / 1024 / 1024]));
    Add(Format('剩餘空間: %.2f GB', [d3 / 1024 / 1024 / 1024]));
  end;
end;

效果圖:

磁盤空間顯示

說明: 三個返回值單位均為字節,除以 1024³ 換算為 GB。lpFreeBytesAvailableToCaller 考慮用戶配額,可能小於 lpTotalNumberOfFreeBytes。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved