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

Как узнать букву CD-ROM?

01.01.2007
var DriveType: UInt;
 
DriveType := GetDriveType(PChar('F:\'));
if DriveType = DRIVE_CDROM then ShowMessage('Сидюк');

Взято с сайта https://blackman.wp-club.net/


function GetFirstCDROM: string;
{возвращает букву 1-го привода CD-ROM или пустую строку}
var
  w: dword;
  Root: string;
  i: integer;
begin
  w := GetLogicalDrives;
  Root := '#:\';
  for i := 0 to 25 do
  begin
    Root[1] := Char(Ord('A') + i);
    if (W and (1 shl i)) > 0 then
      if GetDriveType(Pchar(Root)) = DRIVE_CDROM then
      begin
        Result := Root[1];
        exit;
      end;
  end;
  Result := '';
end;
https://delphiworld.narod.ru/

DelphiWorld 6.0


function GetFirstCDROMDrive: char;
 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
         Result := root[1];
         Break;
       end;
     mask := mask shl 1;
     Inc(root[1]);
   end;
 end;
 
 procedure TForm1.Button2Click(Sender: TObject);
 begin
   ShowMessage(GetFirstCDROMDrive);
 end;

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


procedure TForm1.Button1Click(Sender: TObject);
var
  w: dword;
  Root: string;
  i: integer;
begin
  w := GetLogicalDrives;
  Root := '#:\';
  for i := 0 to 25 do
  begin
    Root[1] := Char(Ord('A') + i);
    if (W and (1 shl i)) > 0 then
      if GetDriveType(Pchar(Root)) = DRIVE_CDROM then
        Form1.Label1.Caption := Root;
  end;
end;
https://delphiworld.narod.ru/

DelphiWorld 6.0