| 
 
 
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" öffnen
 //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;
 
 
   |