Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как узнать количество CD в системе?

01.01.2007
function GetNumberOfCDDrives: Byte;
 var
   drivemap, mask: DWORD;
   i: integer;
   root: string;
 begin
   Result := 0;
   root := 'A:\';
   drivemap := GetLogicalDrives;
   mask := 1;
   for i := 1 to 32 do
   begin
     if (mask and drivemap) <> 0 then
       if GetDriveType(PChar(root)) = DRIVE_CDROM then
       begin
         Inc(Result);
       end;
     mask := mask shl 1;
     Inc(root[1]);
   end;
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
   Label1.Caption := IntToStr(GetNumCDDrives);
 end;

Взято с сайта: https://www.swissdelphicenter.ch