Partilhar via


Como ler dados a partir do Registro do Windows (C++/CLI)

O exemplo de código usa a chave de CurrentUser para ler dados do Registro do Windows. Primeiro, a subchaves são enumeradas usando o método de GetSubKeyNames e a subchave de identidades é aberta em usando o método de OpenSubKey . Como as chaves raiz, cada subchave é representada pela classe de RegistryKey . Finalmente, o novo objeto de RegistryKey é usada para enumerar os pares de chave/valor.

Exemplo

Código

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

Comentários

A classe de Registry é meramente um contêiner para instâncias estáticos de RegistryKey. Cada instância de representar um nó de Registro raiz. As instâncias são ClassesRoot, CurrentConfig, CurrentUser, LocalMachine, e Users.

Além de ser estáticos, os objetos dentro da classe de Registry são somente leitura. Além disso, as instâncias de RegistryKey classificação que são criadas para acessar o conteúdo do Registro são somente leitura também. Para obter um exemplo de como substituir esse comportamento, consulte Como gravar dados no Registro do Windows (C++/CLI).

Há dois objetos adicionais na classe de Registry : DynData e PerformanceData. Ambas forem instâncias de classe de RegistryKey . O objeto de DynData contém informações de Registro dinâmico, que só tem suporte no Windows 98 e no Windows Me. O objeto de PerformanceData pode ser usado para acessar informações do contador de desempenho de aplicativos que usam o sistema de monitoramento de desempenho do windows. O nó de PerformanceData representa informações que realmente não é armazenada no Registro e não pode ser exibida em virtude disso usando Regedit.exe.

Consulte também

Conceitos

Como gravar dados no Registro do Windows (C++/CLI)

Outros recursos

Operações do Windows (C++/CLI)

Programação do .NET no Visual C++