Einzelnen Beitrag anzeigen

dub89

Registriert seit: 5. Dez 2008
2 Beiträge
 
#1

Probleme aus HKEY_LOCAL_MACHINE Auszulesen

  Alt 10. Okt 2011, 15:11
Hallo,

ich habe eine Problem dabei, Daten aus der Registry auszulesen. Im folgenden Code lande ich nach der Zeile regist.OpenKey immer im Else Teil:
Code:
function TRegistryEditor.ReadStringLocalMachine(keyname: string) : string;
  var regist: TRegistry;
  var resultString: string;
  begin
    regist := TRegistry.Create;
    Try
      regist.RootKey := HKEY_LOCAL_MACHINE;
      if regist.OpenKey('SOFTWARE\XYZ\Info', False) then
      begin
        resultString := regist.ReadString(keyname);
      end
      else
      begin
        resultString := '';
      end;
    Finally
      regist.free;
    end;
    Result := resultString;
  end;
Ich hatte das Problem als ich aus HKEY_CURRENT_USER ausgelesen habe noch nicht. In beiden Fälle existiert der Registryschlüssel und die Werte, die ich auslesen möchte existieren auch. Es sind auch immer Strings, die eingetragen sind. Ersetze ich HKEY_LOCAL_MACHINE durch HKEY_CURRENT_USER funktioniert auch wieder alles.

Mit VBA und über die command line komme ich auch auf den Key drauf. Die Probleme existieren sowohl unter WinXP als auch unter Win7 und ich nutze Delphi 2006.

Weiß jemand wo das Problem liegt?

Viele Grüße

Johannes
  Mit Zitat antworten Zitat