Announcement

Collapse
No announcement yet.

c# und Registry / Ini-Files

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

  • c# und Registry / Ini-Files

    Ich hab folgendes Problem:
    Ich möchte einen Dienst und ein Konfigurationstool erstellen. Beide sollen auf Einstellungen irgend einer Art zugreifen können. Mir ist es egal ob es eine ini-File, Keys in der Registry oder was anderes Standartisiertes ist. Haupsache es klappt.

    Kann mir irgend jemand weiterhelfen??

  • #2
    Hallo Raymond,<br>
    in der SDK Dokumentation habe ich eine Klasse <b>Registry</b> gefunden. Diese enthält mehrere statische Felder, u.a. auch für <b>LocalMachine</b>.

    Mit der Methode <b>OpenSubKey</b> kannst du dann den kompletten Pfad z.b. /Software/Microsoft/Windows/CurrentVersion angeben

    Comment


    • #3
      Hallo Raymond,

      Hier ein Beispiel zum Schreiben und Lesen in und aus der Registry !
      Viel Spass.

      andre

      <PRE>
      // Schreiben in die Registry

      private void .......()
      {
      RegistryKey regKey;

      regKey = LoadRegistryKey();

      regKey.SetValue( "RememberPath", "Path-To-Remember" );
      }

      // Lesen aus der Registry

      private void Form_Load()
      {
      RegistryKey key;

      regKey = LoadRegistryKey();

      if( regKey != null )
      {
      string strPath = regKey.GetValue("RememberPath");
      }
      }

      private RegistryKey LoadRegistryKey()
      {
      RegistryKey softwareKey;
      RegistryKey MyFolderKey;
      RegistryKey MyProgNameKey;

      MyProgNameKey = null;

      softwareKey = Registry.CurrentUser.OpenSubKey("Software", true);

      if( softwareKey == null )
      {
      softwareKey = Registry.CurrentUser.CreateSubKey("Software");
      }

      if( softwareKey != null )
      {
      MyFolderKey = softwareKey.OpenSubKey("MyFolder", true);

      if( MyFolderKey == null )
      {
      MyFolderKey = softwareKey.CreateSubKey("MyFolder");
      }

      if( MyFolderKey != null )
      {
      MyProgNameKey.OpenSubKey("MyProgName", true);

      if( MyProgNameKey == null )
      {
      MyProgNameKey = MyFolderKey.CreateSubKey("MyProgName");
      }
      }
      }

      return MyProgNameKey;
      }

      </PRE&gt

      Comment


      • #4
        hi,

        wie füge ich die klasse in mein projekt ein? wenn ich nur RegistryKey regKey schreibe bekomme ich nen fehler.

        Fehler 1 Der Typ- oder Namespacename "RegistryKey" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?) E:\SubversionHitlist\SubversionHitlist\SubversionH itlist\Form1.cs 25 13 SubversionHitlist


        gruesse

        Comment


        • #5
          Originally posted by rene04 View Post
          wie füge ich die klasse in mein projekt ein? wenn ich nur RegistryKey regKey schreibe bekomme ich nen fehler.
          Bitte vollständige Fehlerbeschreibung: Fehler durch den Compiler oder zur Laufzeit? Bei welchem Code tritt der Fehler auf?

          Außerdem gilt natürlich das normale Vorgehen (und das erklärt die Fehlermeldung): Referenz auf Assembly in das Projekt einbinden, using auf den Namespace hinzufügen, soweit erforderlich Instanz einer Klasse erzeugen und erst dann nutzen.

          Ein Blick in die SDK-Doku Registry-Klasse zeigt: die Assembly heißt mscorlib, der Namespace heißt Microsoft.Win32, den Ablauf demonstriert ein Beispiel. Also gilt vor allem: SDK-Doku benutzen! Jürgen

          Comment


          • #6
            hmm, ich arbeite erst 3 tage mit c#, sorry, aber wie binde ich das assembly ein? den namespace habe ich bereits eingebunden.

            code:

            RegistryKey regKey;

            regKey = LoadRegistryKey();

            der fehler ist bei LoadRegistryKey()

            Fehler 1 Der Name "LoadRegistryKey" ist im aktuellen Kontext nicht vorhanden. E:\SubversionHitlist\SubversionHitlist\SubversionH itlist\Form1.cs 28 22 SubversionHitlist


            gruesse
            Zuletzt editiert von rene04; 22.02.2008, 11:29.

            Comment


            • #7
              ahhh, sorry! eben hab ichs gesehen. wie peinlich. LoadRegistryKey() ist eine eigene Methode

              Alles klar.

              gruesse

              Comment

              Working...
              X