Announcement

Collapse
No announcement yet.

Registry -Keys lesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Registry -Keys lesen

    Hallo,<P><P>
    kann mir jemand sagen, wie ich aus der Registry auslesen kann,<P>
    welche Schlüssel es innerhalb eines Schlüssel gibt?<P><P>
    Danke<P> Gruss<P>
    Maik

  • #2
    Schau dir

    GetKeyName

    und

    GetValueName

    der Klasse TRegistry a
    Christian

    Comment


    • #3
      Moin,

      der Eintrag is' zwar 'n paar Jahre her, aber genau so ein Problem habe ich auch gerade.
      Anfangen möchte ich beim RootKey HKEY_LOCAL_MACHINE. Von dem würde ich gern alle Unterschlüssel aufgelistet bekommen.
      Ich habe mit
      Code:
      TRegistry *regkey = new TRegistry(KEY_READ);
      regkey->RootKey = HKEY_LOCAL_MACHINE;
      ein Registry-Objekt erzeugt und den RootKey gesetzt.

      Nun sollten ja die Unterschlüssel dieses RootKey laut Builder-Hilfe mit
      Code:
      regkey->GetKeyNames(meinestrings);
      in das zuvor erzeugte Objekt
      Code:
      TStrings *meinestrings;
      geschrieben werden.

      Leider bekomme ich bei Ausführung der GetKeyNames(...)-Funktion immer eine Zugriffsverletzung vom Compiler.
      Funktioniert dies nicht bei HKEYs, weil es sich dabei um int-Werte handelt?
      Wenn das so sein sollte, würde mich interessieren, wie ich sämtliche Schlüssel unterhalb eines HKEYs in ein Objekt von TStrings einlesen kann.



      Danke für Eure Hilfe
      PHP rocks!
      Eine Initiative der PHP Community

      Comment


      • #4
        Originally posted by shadowman View Post
        Leider bekomme ich bei Ausführung der GetKeyNames(...)-Funktion immer eine Zugriffsverletzung vom Compiler.
        Und welche?

        Comment


        • #5
          Hi Bernhard,

          der genaue Text des Compilers lautet:
          Erste Gelegenheit für Exception bei $76B3B09E. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 73540D69. Lesen von Adresse 73540D69'. Prozess Project1.exe (5240).

          Habe auch schon versucht, einen try-catch-Block einzubauen.
          Kommt dieselbe Meldung.

          Danke!
          PHP rocks!
          Eine Initiative der PHP Community

          Comment


          • #6
            a) RootKey ist kein Schlüssel. Vielmehr ein int der der Klasse sagt in welchem Zweig der Registry gesucht werden soll

            b) Insofern kann GetNames keine Unterschlüssel zurückgeben, da noch überhaupt kein Schlüssel gewählt wurde. Hier ist mit OpenKey und CurrentKey zu arbeiten

            c) Leider unterstützt die Klasse einen TreeWalk - also das automatische durchlaufen aller Knoten/Kinder ab einem Wurzelelment nicht. Dieser muss also selbst in Form einer rekursiven Routine implementiert werden.

            d) und das gibt es noch nicht? Das hat noch keiner gemacht?
            Christian

            Comment

            Working...
            X