TRegistry Problem



  • Hallo,

    ich versuche gerade verzweifelt einen String aus der Reg zu holen...
    Also bisher (meine) ich hat es mit diesem Code immer ganz gut geklappt, nur
    immo will er nicht so wie ich.

    TStringList *StringList = new TStringList;
      TRegistry *Registry     = new TRegistry;
      Registry->RootKey       = HKEY_LOCAL_MACHINE;
    
      if ( Registry->OpenKey( "SOFTWARE\\Fraps2", false ) )
    	ShowMessage( Registry->ReadString("Screenshot Directory") );
    
      delete Registry;
      delete StringList;
    

    Ich vermute gerade das es an Vista liegt (Rechte) Nur auch wenn ich es als
    Admin ausführe bleibe ich erfolglos. Kann es sein das sich doch ein Fehler
    eingeschlichen hat? Ich habe leider gerade kein XP zur hand um dort einmal
    zu testen 😞



  • Hallo

    Soviel ich weiß ist unter Vista der Rootkey LOCAL_MACHINE nicht mehr ohne weiteres zugänglich, auch für den Admin. Alle Schlüssel sollten deshalb in CURRENT_USER abgelegt werden.

    bis bald
    akari



  • Wenn es nur ums lesen geht kannst du auch mal:

    TRegistry *ReadReg = new TRegistry(KEY_READ);
    ReadReg->RootKey = HKEY_LOCAL_MACHINE;
    ReadReg->OpenKeyReadOnly("SOFTWARE\\Fraps2");
    AnsiString as = ReadReg->ReadString("Screenshot Directory");
    
    delete ReadReg
    

    ausprobieren.
    Sollte eigentlich gehen, da unsere Software ihren Installationspfad auch in LocalMachine hat und auch unter Vista läuft.

    mfg


Anmelden zum Antworten