Saber quais as unidades de disco (drives) estão presentes no Delphi
Inclua na seção 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.');
A string retornada pela função tbGetDrives está sempre em letras maiúsculas.