Udostępnij za pośrednictwem


Jak: odczytać danych z rejestru systemu Windows (C + +/ CLI)

Następujący kod w przykładzie wykorzystano CurrentUser klucz do odczytywania danych z rejestru systemu Windows.Po pierwsze, podklucze są wyliczane za pomocą GetSubKeyNames metodę, a następnie podklucz tożsamości jest otwierany za pomocą OpenSubKey metody.Podobnie jak kluczy głównych każdy podklucz jest reprezentowana przez RegistryKey klasy.Wreszcie, nowy RegistryKey obiekt jest używany do wyliczenia par klucz wartość.

Przykład

df4afx57.collapse_all(pl-pl,VS.110).gifKod

// 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;
}

Uwagi

Registry Klasy jest tylko kontenerem dla wystąpień statycznych RegistryKey.Każde wystąpienie reprezentuje węzeł rejestru głównego.The instances are ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, and Users.

Ponadto jest statyczny, obiektów w Registry klasy są tylko do odczytu.Ponadto obiekty z RegistryKey klasy utworzony dostępu do zawartości rejestru obiektów, jak również są tylko do odczytu.Przykładowy sposób zastąpić to zachowanie, zobacz Jak: zapisu danych w rejestrze systemu Windows (C + +/ CLI).

Istnieją dwa dodatkowe obiekty w Registry klasy: DynData i PerformanceData.Są oba wystąpienia RegistryKey klasy.DynData Obiekt zawiera informacje rejestru dynamicznego, który jest obsługiwany tylko w systemie Windows 98 i Windows Me.PerformanceData Obiektu można uzyskać dostęp do informacji licznika wydajności dla aplikacji używających systemu monitorowania wydajności systemu Windows.PerformanceData Węzeł reprezentuje informacje, które w rzeczywistości nie są przechowywane w rejestrze i dlatego nie można przeglądać za pomocą programu Regedit.exe.

Zobacz też

Koncepcje

Jak: zapisu danych w rejestrze systemu Windows (C + +/ CLI)

Inne zasoby

Działania systemu Windows (C + +/ CLI)

.NET Programowanie w języku Visual C++