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

Как загрузить иконку CD-ROM?

01.01.2007
function GetCDIcon(Drive: Char): TIcon; 
var 
  ico: TIcon; 
  ini: TIniFile; 
  s, p: string; 
  i, j: Integer; 
begin 
  //Abbrechen wenn "AutoRun.Inf" nicht existiert. 
  //Abort if "AutoRun.inf" doesn't exists. 
  if FileExists(Drive + ':\autorun.inf') = False then Exit; 
 
  //"AutoRun.inf" offnen 
  //Opens the "AutoRun.inf" 
  ini := TIniFile.Create(Drive + ':\autorun.inf'); 
  ico := TIcon.Create; 
 
  try 
    //Dateinamen lesen 
    //Read the filename 
    s := ini.ReadString('Autorun', 'ICON', ''); 
 
    //Abbrechen, wenn kein Icon festgelegt wurde 
    //Abort if there is no icon specified 
    if s = '' then Exit; 
 
    //Icon von Datei laden 
    //load the icon from a file 
    if FileExists(s) then ico.LoadFromFile(s); 
    if FileExists(Drive + ':\' + s) then ico.LoadFromFile(Drive + ':\' + s); 
 
    //Icon aus einer Resource laden 
    //Load the icon from a Win32 resource 
    if (FileExists(s) = False) and (FileExists(Drive + ':\' + s) = False) then  
    begin 
      for j := (Pos(',', s) + 1) to Length(s) do  
      begin 
        p := p + s[j]; 
      end; 
      i := StrToInt(p); 
      for j := Length(s) downto (Pos(',', s)) do 
        Delete(s, j, Length(s)); 
 
      if FileExists(s) = False then s := Drive + ':\' + s; 
 
      ico.Handle := ExtractIcon(hinstance, PChar(s), i); 
    end; 
 
    Result := ico; 
  finally 
    ini.Free; 
  end; 
end; 

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