Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Registry: KeyExists liefert immer false

  Alt 6. Okt 2008, 16:25
Hallo DP !

Ich möchte auf einem Windows 2000 System die "Liste der zuletzt geöffneten Dateien" von MS Office 2000 (hier Excel) per Registry setzen.
Das geschieht in:

Schlüssel: HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Ex cel\Options
Wert1: DefFileMRU (Anzahl der angezeigten letzten Dateien, Wert von 0 bis 9 einstellbar)
Wert2: Options5 (Häckchen entfernen/setzen)

Davor möchte ich gern prüfen, ob der o.g. Schlüssel überhaupt existiert. Das ist mein Lösungsansatz:

Delphi-Quellcode:
procedure TFMain.SpeedButton_regClick(Sender: TObject);
var reg: TRegistry;
begin
 try
  reg:=TRegistry.Create(KEY_READ);
  if Reg.KeyExists('HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options') then
  //mache dies, mache das
  else my_Message.MessageDlg('Registry Schlüssel: '+ #10#13 + #10#13 + 'bliblablubb' + #10#13 + #10#13 +
  'nicht gefunden!',mtInformation,mbOK, 0);
 finally
  reg.Free;
 end;
End;
Ich bekomme die Fehlermeldung, dass der Schlüssel angeblich nicht existert. Er existiert aber eindeutig und per
JumpToKey('HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options'); komme ich auch sofort an die gewünschte stelle. Was ist denn an meiner if-Anweisung falsch?
  Mit Zitat antworten Zitat