Aracılığıyla paylaş


Nasıl yapılır: verileri Windows kayıt defterinden okunamıyor (C++/ CLI)

Aşağıdaki kod, Windows kaydından veri okumak için CurrentUser anahtarını kullanır. Alt anahtarları kullanarak ilk olarak numaralandırılan GetSubKeyNames yöntemi ve kimlikleri alt açıldığında kullanarak OpenSubKey yöntemi. Kök anahtarları gibi, her alt anahtar RegistryKey sınıfıyla gösterilir. Son olarak, yeni RegistryKey nesnesi anahtar/değer çiftlerini numaralandırmak için kullanılır.

Örnek

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

Notlar

Registry sınıfı RegistryKey'in statik örnekleri için yalnızca bir kapsayıcıdır. Her örnek bir kök kayıt defteri düğümünü temsil eder. Örnekler, ClassesRoot, CurrentConfig, CurrentUser, LocalMachine ve Users'tır.

Statik olmanın yanı sıra, Registry sınıfındaki nesneler salt okunurdur. Ayrıca, RegistryKey sınıfının kayıt nesnelerinin içeriklerine erişmek için oluşturulan örnekleri de salt okunurdur. Bu davranışın nasıl geçersiz kılınacağının bir örneği için bkz. Nasıl yapılır: Windows kayıt defterine veri yazma (C++/ CLI).

Registry sınıfında iki ek nesne vardır: DynData ve PerformanceData. İkisi de RegistryKey sınıfının örnekleridir. DynData nesnesi sadece Windows 98 ve Windows Me'nin desteklediği devingen kayıt bilgisi içerir. PerformanceData nesnesi Windows Performance Monitoring System'ı (Windows Başarım İzleme Sistemi) kullanan uygulamalar için başarım sayaç bilgisine erişmek amacıyla kullanılabilir. PerformanceData Düğümü gösteren bilgiler gerçekten kayıt defterinde saklanan değil ve bu nedenle Regedit.exe kullanılarak görüntülenemez.

Ayrıca bkz.

Kavramlar

Nasıl yapılır: Windows kayıt defterine veri yazma (C++/ CLI)

Diğer Kaynaklar

Windows işlemleri (C++/ CLI)

.net programlama Visual C++