type
TVolumeInformation = record
VolumeName : string; //卷标
VolumeSerialNumber:integer; //磁盘序列号
MaximumComponentLength:DWord;
FileSystemFlags : DWord;
FileSystemName : string; //文件系统
end;
function GetVolumeInformation(D:char; var V:TVolumeInformation) : boolean;
var
O : integer;
begin
O := SetErrorMode (SEM_FAILCRITICALERRORS);
try
with V do
begin
SetLength (VolumeName, MAX_PATH);
SetLength (FileSystemName, MAX_PATH);
VolumeSerialNumber := 0;
MaximumComponentLength := 0;
FileSystemFlags := 0;
Result:=Windows.GetVolumeInformation (PChar (D+':\'), PChar (VolumeName),
MAX_PATH,@VolumeSerialNumber, MaximumComponentLength,
FileSystemFlags,PChar (FileSystemName), MAX_PATH);
end
finally
SetErrorMode (O)
end
end;