Partager via


Comment : lire les données du Registre Windows (C++/CLI)

L'exemple de code suivant utilise la clé CurrentUser pour lire les données du Registre Windows.D'abord, les sous-clés sont énumérées à l'aide de la méthode d' GetSubKeyNames puis la sous-clé identities est ouverte à l'aide de la méthode d' OpenSubKey .Comme les clés racine, chaque sous-clé est représentée par la classe RegistryKey.Pour terminer, le nouvel objet RegistryKey est utilisé pour énumérer les paires clé/valeur.

Exemple

df4afx57.collapse_all(fr-fr,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;
}

Remarques

La classe Registry est simplement un conteneur pour les instances statiques de RegistryKey.Chaque instance représente un nœud du Registre de la racine.Les instances sont ClassesRoot, CurrentConfig, CurrentUser, LocalMachine et Users.

En plus d'être statiques, les objets de la classe Registry sont en lecture seule.Par ailleurs, les instances de la classe RegistryKey qui sont créées pour accéder au contenu des objets du Registre sont également en lecture seule.Pour obtenir un exemple illustrant comment substituer ce comportement, consultez Comment : écrire des données dans le Registre Windows (C++/CLI).

Il existe deux objets supplémentaires dans la classe Registry : DynData et PerformanceData.Tous les deux sont des instances de la classe RegistryKey.L'objet DynData contient des informations de Registre dynamiques prises en charge uniquement dans Windows 98 et Windows Millenium Edition.L'objet PerformanceData peut être utilisé pour accéder aux informations de compteur de performance pour les applications qui utilisent le Système d'analyse des performances de Windows.Le nœud d' PerformanceData représente les informations qui ne sont pas stockées dans le Registre et ne peuvent pas réellement donc être affichées à l'aide de regedit.exe.

Voir aussi

Concepts

Comment : écrire des données dans le Registre Windows (C++/CLI)

Autres ressources

Opérations Windows (C++/CLI)

programmation. NET dans Visual C++