Hola,
Revisa la
guía de estilo de los Foros: no repitas hilos.
A ver qué tal te parece este procedimiento "inspirado" en una función que puede encontrarse en la propia ayuda de Delphi:
Código Delphi
[-]
procedure ListaUnidadesCD(var unidades: TStrings);
resourcestring
rsBarra = ':\';
var
unidad: Char;
begin
for unidad := 'A' to 'Z' do
case GetDriveType(PChar(unidad + rsBarra)) of
DRIVE_CDROM: unidades.Add(unidad + rsBarra);
end;
end;