function GetSpaceOnDisk(const Path: String; const InMegabytes: Boolean; var Free, Total: Cardinal): Boolean;
Позволяет получить размер общего Total и свободного Free
пространства на диске в байтах или мегабайтах. Параметр Path
определяет каталог на диске или ресурс в сети (UNC-путь). Это может быть
корневой каталог (например , C:\
), или существующий
подкаталог. Параметр InMegabytes определяет формат
представления данных: в байтах или мегабайтах (2^20), округленных в
меньшую сторону. В случае успеха возвращает значение True,
иначе False.
Цифровые данные, возвращаемые функцией, ограничены значением 2147483647 (2^31-1). Поэтому, если для параметра InMegaBytes задано False, функция вернёт значение не превышающее 2147483647 байт. Если же для параметра InMegaBytes задано True, то функция вернёт значение не превышающее 2147483647 мегабайт.
var Path: String; FreeMB, TotalMB: Cardinal; begin // Получаем объём свободного места в Мб на диске с каталогом "Program Files" Path := ExpandConstant('{autopf}'); if GetSpaceOnDisk(Path, True, FreeMB, TotalMB) then begin MsgBox('Доступно ' + IntToStr(FreeMB) + ' Мб по пути ' + Path, mbInformation, MB_OK); end else begin // ошибка выполнения функции end; end;