Announcement

Collapse
No announcement yet.

REG_MULTI_SZ

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

  • REG_MULTI_SZ

    Ich versuche aus einem Schlüssel in der Registry einen Wert auszulesen. Wenn ich draufklicke steht in der Kopfzeile Binärwert.
    Dumme frage wie soll ich dann meine Variable erstellen? mit int?
    Oder hat hier jemand ein bessere Idee die er mir erklären könnten denn ich bin leider noch nicht der helste in diesem Thema!

    IP=regkey3.ReadBinaryData("IPAddress");

  • #2
    Warum zum Kuckuck macht du es nicht wie vorgeschlagen???

    Eine IP-Adresse kann niemals ein INT sein.

    Warum willst du sie nicht als String in die Registry speichern
    Christian

    Comment


    • #3
      weil der schlüssel ein binärwert ist und ein kollege von mir des immer anders erzählt ich muss leider sagen das ich von dem thema keine ahnung habe aber ich weiss das ein string keine binärwert hat oder liege ich da falsch?

      ich versuche doch nur mir eine ip adresse aus dem schlüssel auszulesen und diesen in einen eigens erstellten schlüssel (das funktioniert dank dir) eizufügen

      Comment


      • #4
        Okay nu mal langsam:

        Du sollst die IP-Adresse also aus einem vorgegebenen Pfad in der Registry lesen?

        Wenn ja, dann schicke mir mal den Schlüssel.

        Kann aber ggf. erst nächste Woche antworten, da ich ab morgen auf der CeBIT bin.

        Dort kann ich zwar hier gucken, aber nix mehr programmieren
        Christian

        Comment


        • #5
          also ich will mir die ip aus dem Folgendem pfad holen

          HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Services//{50C1C10A-A4CB-4AC5-8E79-F1E5ABC719F2}"je nach name der Netzwerkkarte"//Parameters//Tcpip

          dort liegt dann der Schlüssel IPAddress dies ist ein Binärwert und den würde ich gern auslesen können.

          ÄÄÄ ich hab mal so ne Frage bis du so nen Checker wenn du zur CeBIT gehst? Oder machst du des Privat?

          Danke für die Hilf

          Comment


          • #6
            Weiss nicht was ein Checker ist, aber gehe hin, weil mein Arbeitgeber es so will und einen Stand hat und der Meinung ist, da müssen Entwickler da sein. Sonst habe ich dazu keine Lust.

            Ich schau mal was ich machen kan
            Christian

            Comment


            • #7
              Also das sollte so gehen. In dem String Adresse steht dann die IP-Adresse. Da steht bei mir übrigens 0.0.0.0 drin, obwohl ich hier zu Hause auch ein Netzwerk habe. Das liegt aber wohl daran, dass ich einen DHCP Server im Router habe.
              <pre>
              Registry& regkey=*new TRegistry();
              char Buffer[15];
              String Adresse;
              ZeroMemory(Buffer,sizeof(Buffer));
              regkey.RootKey=HKEY_LOCAL_MACHINE;
              bool keygood=regkey.OpenKey("SYSTEM\\CurrentControlSet\ \Services\\{4132B7BF-6AA4-4ffE-8517-37F3454534913725}\\Parameters\\Tcpip",false);
              if(keygood)
              {
              int anzahl=regkey.ReadBinaryData("IPAddress", Buffer, 15);
              Adresse=Buffer;
              }
              delete regkey;
              </pre>

              Hoffe das löst dein Proble
              Christian

              Comment


              • #8
                vielen dank das ist die lösung meines problems danke dank

                Comment


                • #9
                  nochmals dickes dankeschön wünsche dir viel spaß auf der cebit!!

                  danke danke danke du bist sowas wie ein c++ gott für mich dankeschön

                  Comment


                  • #10
                    Nicht übertreiben

                    int anzahl=regkey.ReadBinaryData("IPAddress", Buffer, 15);

                    durch

                    int anzahl=regkey.ReadBinaryData("IPAddress", Buffer, sizeof(Buffer));

                    ersetze
                    Christian

                    Comment


                    • #11
                      gibt es da auch eine möglichkeit das ich auf REG_MULTI_SZ weiter arbeite oder muss ich das in REG_BINARY ändern?

                      also so wie du es sagst geht es habe dann halt REG_BINARY zur verschönerung meines Programmes hätte ich die Frage kann man auch REG_MULTI_SZ irgendwie bekommen?

                      Da muss ich wahrscheinlich nur irgendwie
                      WriteExpandString
                      dieses hier nehmen oder liege ich da falsch

                      Comment


                      • #12
                        Versuch mal WriteBinaryDat
                        Christian

                        Comment


                        • #13
                          WriteBinaryData
                          habe ich schon von anfang gemacht deshalb kommt dann nachher REG_BINARY
                          wie komm aber auch REG_MULTI_S

                          Comment


                          • #14
                            Dafür gibt es keinen Befehl in der Klasse TRegistry. Das sind mehere String mit \0 getrennt.

                            Den musst du dann mit der WIN 32 API

                            RegSetValueEx

                            erzeugen
                            Christian

                            Comment


                            • #15
                              cool dankeschön!! aber ich glaube des ist mir ne nummer zu hoch

                              Comment

                              Working...
                              X