1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
procedure TForm1.ChargerListeLecteurs;
var
i, Po : integer;
Str : string;
begin
//On récupère les lecteurs...
ListDrives2(Liste);
//...puis on charge ListeLecteurs
ListeLecteurs.Clear;
for i := 0 to Liste.Count - 1 do
begin
//Lettre lecteur
Po := Pos('|', Liste[i]);
ListeLecteurs.Items.Add(Trim(Copy(Liste[i], 1, Po - 1)));
end;
if ListeLecteurs.Items.Count > 0
then ListeLecteurs.ItemIndex := 1;
end; //ChargerlisteLecteurs
procedure ListDrives2(var Liste : TStringList);
//Renvoie la liste des lecteurs du PC avec ses informations
var
Num : Integer;
Bits : set of 0..25;
Disque : string;
begin
Liste.Clear;
integer(Bits) := GetLogicalDrives;
for Num := 0 to 25 do
begin
if Num in Bits
then begin
Disque := Char(Num + Ord('A')) + ':';
Case GetDriveType(PChar(Disque)) of
DRIVE_REMOVABLE : if HotPlugInfo(Disque)
then Liste.Add(Drive.Volume + '|' + Drive.Properties + '| Lecteur Amovible' + '|' +
Drive.SystFich + '|' + Drive.TailleLib + '|' + Drive.TailleTot + '|' + Drive.VolumeName);
DRIVE_FIXED : if HotPlugInfo(Disque)
then Liste.Add(Drive.Volume + '|' + Drive.Properties + '| Disque externe amovible' + '|' +
Drive.SystFich + '|' + Drive.TailleLib + '|' + Drive.TailleTot + '|' + Drive.VolumeName)
else Liste.Add(Drive.Volume + '|' + Drive.Properties + '| Disque dur' + '|' +
Drive.SystFich + '|' + Drive.TailleLib + '|' + Drive.TailleTot + '|' + Drive.VolumeName);
DRIVE_CDROM : if HotPlugInfo(Disque)
then Liste.Add(Drive.Volume + '|' + Drive.Properties + '| Lecteur CDROM/DVDROM' + '|' +
Drive.SystFich + '|' + Drive.TailleLib + '|' + Drive.TailleTot + '|' + Drive.VolumeName)
end;
end;
end;
end; //ListDrives2 |
Partager