Drives - quais tem no computador

Top  Previous  Next

Como saber quais as unidades de disco (drives) estão presentes?

 

Coloque no uses: Windows

 

{ A função abaixo retorna uma string contendo

  as letras de unidades de discos presentes. }

 

function tbGetDrives: string;

var

  Drives: DWord;

  I: byte;

begin

  Result := '';

  Drives := GetLogicalDrives;

  if Drives <> 0 then

    for I := 65 to 90 do

      if ((Drives shl (31 - (I - 65))) shr 31) = 1 then

        Result := Result + Char(I);

end;

 

{ Para saber se uma determinada unidade está presente,

  basta fazer algo como: }

if Pos('A', tbGetDrives) > 0 then

  ShowMessage('Unidade A: presente.')

else

  ShowMessage('Unidade A: ausente.');

 

Observações:

 

A string retornada pela função tbGetDrives está sempre em letras maiúsculas.