Gewusst wie: Lesen von Daten aus der Windows-Registrierung (C++/CLI)

Im folgenden Codebeispiel wird der CurrentUser-Schlüssel verwendet, um Daten aus der Windows-Registrierung zu lesen.Zuerst werden die Unterschlüssel unter Verwendung der GetSubKeyNames-Methode aufgelistet, und anschließend wird die Identität mit der unterschlüssel OpenSubKey-Methode geöffnet.Jeder Unterschlüssel wird wie ein Stammschlüssel durch die RegistryKey-Klasse dargestellt.Schließlich werden mit dem neuen RegistryKey-Objekt die Schlüssel/Wert-Paare aufgelistet.

Beispiel

df4afx57.collapse_all(de-de,VS.110).gifCode

// registry_read.cpp
// compile with: /clr
using namespace System;
using namespace Microsoft::Win32;

int main( )
{
   array<String^>^ key = Registry::CurrentUser->GetSubKeyNames( );

   Console::WriteLine("Subkeys within CurrentUser root key:");
   for (int i=0; i<key->Length; i++)
   {
      Console::WriteLine("   {0}", key[i]);
   }

   Console::WriteLine("Opening subkey 'Identities'...");
   RegistryKey^ rk = nullptr;
   rk = Registry::CurrentUser->OpenSubKey("Identities");
   if (rk==nullptr)
   {
      Console::WriteLine("Registry key not found - aborting");
      return -1;
   }

   Console::WriteLine("Key/value pairs within 'Identities' key:");
   array<String^>^ name = rk->GetValueNames( );
   for (int i=0; i<name->Length; i++)
   {
      String^ value = rk->GetValue(name[i])->ToString();
      Console::WriteLine("   {0} = {1}", name[i], value);
   }

   return 0;
}

Hinweise

Die Registry-Klasse ist lediglich ein Container für statische Instanzen von RegistryKey.Jede Instanz stellt einen Stammregistrierungsknoten dar.Die Instanzen sind ClassesRoot, CurrentConfig, CurrentUser, LocalMachine und Users.

Die Objekte innerhalb der Registry-Klasse sind nicht nur statisch, sondern auch schreibgeschützt.Darüber hinaus sind Instanzen der RegistryKey-Klasse, die für den Zugriff auf den Inhalt der Registrierungsobjekte erstellt wurden, ebenfalls schreibgeschützt.Unter Gewusst wie: Schreiben von Daten in die Windows-Registrierung (C++/CLI) finden Sie ein Beispiel, in dem dargestellt wird, wie dieses Verhalten überschrieben werden kann.

In der Registry-Klasse stehen zwei weitere Objekte zur Verfügung: DynData und PerformanceData.Bei beiden Objekten handelt es sich um Instanzen der RegistryKey-Klasse.Das DynData-Objekt enthält dynamische Registrierungsinformationen, die nur unter Windows 98 und Windows Me unterstützt werden.Das PerformanceData-Objekt dient dem Zugriff auf Informationen zu Leistungsindikatoren für Anwendungen, die das Leistungsüberwachungssystem von Windows verwenden.Der PerformanceData Knoten stellt Informationen dar, die nicht direkt in der Registrierung gespeichert wird und deshalb nicht mit Regedit.exe angezeigt werden kann.

Siehe auch

Konzepte

Gewusst wie: Schreiben von Daten in die Windows-Registrierung (C++/CLI)

Weitere Ressourcen

Windows-Vorgänge (C++/CLI)

.NET, das Programmierung in Visual C++