Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Хотя My.Computer.Registry
должен учитывать ваши основные потребности для работы с реестром, вы также можете использовать классы Registry и RegistryKey в пространстве имен в .NET.
Ключи в классе реестра
Класс Registry предоставляет основные ключи реестра, которые можно использовать для получения доступа к их подразделам и значениям. Базовые ключи сами являются доступны только для чтения. В следующей таблице перечислены и описаны семь ключей, предоставляемых классом Registry .
Ключ | Описание |
---|---|
ClassesRoot | Определяет типы документов и свойства, связанные с этими типами. |
CurrentConfig | Содержит сведения о конфигурации оборудования, которые не относятся к пользователю. |
CurrentUser | Содержит сведения о текущих предпочтениях пользователя, таких как переменные среды. |
DynData | Содержит динамические данные реестра, такие как используемые драйверами виртуальных устройств. |
LocalMachine | Содержит пять подразделов (Оборудование, SAM, Безопасность, Программное обеспечение и Система), которые содержат данные конфигурации для локального компьютера. |
PerformanceData | Содержит сведения о производительности компонентов программного обеспечения. |
Users | Содержит сведения о настройках пользователей по умолчанию. |
Это важно
Это более безопасно для записи данных текущему пользователю (CurrentUser), чем на локальный компьютер (LocalMachine). Состояние, известное как "захват", возникает, когда вы пытаетесь создать ключ, который уже был создан другим, возможно вредоносным, процессом. Чтобы предотвратить это, используйте метод, например GetValue, возвращающий Nothing
, если ключ еще не существует.
Чтение значения из реестра
В следующем коде показано, как считывать строку из HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
Код ниже считывает, увеличивает, а затем записывает строку в HKEY_CURRENT_USER.
Dim regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If