با قطعه کد زیر این کار را می توانید به راحتی انجام دهید:

 

uses ComObj,registry;

function HasCDRecorder: Boolean;
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  try
    // set the the Mainkey, bestimmt den Hauptschlüssel
    reg.RootKey := HKEY_CURRENT_USER;
    // Open a key, den Schlüssel ?ffnen
    reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning', False);
    // Check if the Key exists, Uberprüfen ob die Zeichenfolge existiert
    Result := reg.ValueExists('CD Recorder Drive');
    // Close the key, Schlüssel schliessen
    reg.CloseKey;
  finally
    // and free the TRegistry Object, das TRegistry Objekt freigeben
    reg.Free;
  end;
end;

یک دکمه بر روی فرم خود قرار دهید و با کد زیرآن را آزمایش کنید:

procedure TForm1.Button1Click(Sender: TObject);
begin
if HasCDRecorder then
    ShowMessage('CD-Recorder available.')
else
    ShowMessage('CD-Recorder NOT available.');
end;