Создаём
новую форму. На неё ложим: Memo (mmout), Panel (Panel1:), Button(bbRun). Это выглядит вот так
Дальше bbRun
на клик присваеваем следующий код:
procedure
TForm1.bbRunClick(Sender: TObject);
var
VolumeName,
FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo,l : DWord;
MaxComponentLength,FileSystemFlags:
DWord;//Cardinal;
dr: Pchar;
b : bool;
ComNam : PChar;
s : String;
n : Cardinal;
CA : PAnsiChar;
begin
dr:='c:\';
b:=GetVolumeInformation(dr,VolumeName,MAX_PATH,@VolumeSerialNo,
MaxComponentLength,FileSystemFlags,
FileSystemName,MAX_PATH);
if b then begin
mmout.Lines.Add('VolumeName =
'+VolumeName);
mmout.Lines.Add('SerialNo = ' + inttohex(HIWord(VolumeSerialNo),4)+'-'+inttohex(LoWord(VolumeSerialNo),4)
); // $'+IntToHex(VolumeSerialNo,8)
mmout.Lines.Add('CompLen =
'+IntToStr(MaxComponentLength));
mmout.Lines.Add('Flags =
$'+IntToHex(FileSystemFlags,4));
mmout.Lines.Add('FSName =
'+FileSystemName);
end;
L:=GetDriveType(dr);
case l of
0 :
s:='The drive type cannot be determined.';
1 :
s:='The root directory does not exist.';
2
: S:='DRIVE_REMOVABLE The
drive can be removed from the drive.';
3
: S:='DRIVE_FIXED The disk
cannot be removed from the drive.';
4
: S:='DRIVE_REMOTE The drive is a
remote (network) drive.';
5
: s:='DRIVE_CDROM The drive is
a CD-ROM drive.';
6
: s:='DRIVE_RAMDISK The drive is a
RAM disk.';
end;
Form1.mmout.Lines.Add(s);
mmout.Lines.Add('');
mmout.Lines.Add('');
mmout.Lines.Add('');
end;
Исходники той проги лежат здесь.