Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод GetValue
объекта можно использовать для чтения значений My.Computer.Registry
в реестре Windows.
Если ключ "Software\MyApp" в следующем примере не существует, создается исключение. Если значение ValueName
"Name" в следующем примере не существует, Nothing
возвращается.
Этот GetValue
метод также можно использовать для определения того, существует ли заданное значение в определенном разделе реестра.
Когда код считывает реестр из веб-приложения, текущий пользователь определяется проверкой подлинности и олицетворением, реализованным в веб-приложении.
Чтобы прочитать значение из раздела реестра
Используйте метод
GetValue
(указав путь и имя) для чтения значения из раздела реестра. В следующем примере значение считывается изName
, а затем отображается в окне сообщенияHKEY_CURRENT_USER\Software\MyApp
.Dim readValue = My.Computer.Registry.GetValue( "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
Этот пример кода также доступен в виде фрагмента кода IntelliSense. В средстве выбора фрагментов кода это находится в реестре операционной системы > Windows. Дополнительные сведения см. в фрагментах кода .
Чтобы определить, существует ли значение в ключе реестра
Используйте метод
GetValue
, чтобы получить значение. В следующем коде проверяется, существует ли значение и возвращается сообщение, если это не так.If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
Надежное программирование
Реестр содержит ключи верхнего уровня или корневого каталога, которые используются для хранения данных. Например, корневой ключ HKEY_LOCAL_MACHINE используется для хранения параметров уровня компьютера, используемых всеми пользователями, а HKEY_CURRENT_USER используется для хранения данных, относящихся к отдельному пользователю.
Следующие условия могут вызвать исключение:
Имя ключа —
Nothing
(ArgumentNullException).У пользователя нет разрешений на чтение из разделов реестра (SecurityException).
Имя ключа превышает ограничение в 255 символов (ArgumentException).
Безопасность .NET Framework
Для выполнения этого процесса сборке требуется привилегированный доступ, предоставленный классом RegistryPermission. Если вы работаете в контексте частичного доверия, процесс может вызвать исключение из-за нехватки привилегий. Аналогичным образом, у пользователя должны быть корректные ACL для создания или изменения параметров. Например, локальное приложение с разрешением на доступ к коду может не иметь разрешения операционной системы. Дополнительные сведения см. в разделе Основы безопасности доступа к коду.
Замечание
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.