Udostępnij za pośrednictwem


Porady: odczytywanie 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 otwierane za pomocą OpenSubKey metody.Jak kluczy głównych, każdy podklucz jest reprezentowana przez RegistryKey klasy.Wreszcie, nowy RegistryKey obiekt jest używany do wyliczenia pary klucz/wartość.

Przykład

Kod

// 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ęzła głównego rejestru.The instances are ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, and Users.

Dodatkowo do bycia statyczne, obiektów w Registry klasy są tylko do odczytu.Ponadto wystąpień z RegistryKey klasy, który są tworzone w celu dostępu do zawartości rejestru obiektów, jak również są tylko do odczytu.Na przykład sposobu zastąpić to zachowanie, zobacz Porady: wpisywanie danych do rejestru systemu Windows (C++/CLI).

Istnieją dwa dodatkowe obiekty w Registry klasy: DynData i PerformanceData.Obie są wystąpienia RegistryKey klasy.DynData Obiekt zawiera informacje rejestru dynamicznej, która jest obsługiwana tylko w systemie Windows 98 i Windows Me.PerformanceData Obiektu mogą służyć do dostępu do informacji o licznikach wydajności dla aplikacji używających systemu monitorowania wydajności systemu Windows.PerformanceData Węzeł reprezentuje informacje, które nie są faktycznie przechowywane w rejestrze i dlatego nie można przeglądać za pomocą Regedit.exe.

Zobacz też

Koncepcje

Porady: wpisywanie danych do rejestru systemu Windows (C++/CLI)

Inne zasoby

Operacje związane z systemem Windows (C++/CLI)

Programowanie .NET w programie Visual C++