Практическое руководство. Чтение данных из реестра Windows (C++/CLI)
В следующем примере для чтения данных из реестра Windows кода используется ключ CurrentUser.Во-первых, подразделах перечислены с помощью метода GetSubKeyNames а затем подраздел идентификаторов открывается с помощью метода OpenSubKey.Как и корневые ключи, каждый подраздел представлен классом RegistryKey.И в завершение, новый объект RegistryKey используется для перечисления пар ключ-значение.
Пример
Код
// 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;
}
Заметки
Класс Registry является контейнером для статических экземпляров класса RegistryKey.Каждый экземпляр представляет корневой узел реестра.К этим экземплярам относятся ClassesRoot, CurrentConfig, CurrentUser, LocalMachine и Users.
Помимо статического свойства, объекты в классе Registry доступны только для чтения.Кроме того, экземпляры класса RegistryKey, которые создаются для доступа к содержимому объектов реестра, также доступны только для чтения.Пример переопределения данного поведения см. в разделе Практическое руководство. Запись данных в реестр Windows (C++/CLI).
В классе Registry находятся два дополнительных объекта: DynData и PerformanceData.Оба экземпляра принадлежат классу RegistryKey.Объект DynData содержит динамические сведения реестра, которые поддерживаются только операционными системами Windows 98 и Windows Me.Объект PerformanceData может использоваться для доступа к данным счетчиков производительности для приложений, использующих "Систему мониторинга производительности Windows".Узел PerformanceData представляет сведения, которые фактически не хранится в реестре и поэтому нельзя просмотреть с помощью Regedit.exe.
См. также
Основные понятия
Практическое руководство. Запись данных в реестр Windows (C++/CLI)