Практическое руководство. Определение наличия значения в разделе реестра в Visual Basic
Определить, существует ли заданное значение в определенном разделе реестра, можно с помощью метода GetValue объекта My.Computer.Registry.
При чтении реестра из веб-приложения то, какой пользователь будет считаться текущим, зависит от проверки подлинности и олицетворения, реализованных в веб-приложении.
Определение существования значения в разделе реестра
Для извлечения значения используйте метод GetValue. Следующий код проверяет значение и возвращает соответствующее сообщение, если его не существует.
If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
Отказоустойчивость
Исключение может возникнуть при следующих условиях.
Имя раздела представляет собой значение Nothing (ArgumentNullException).
У пользователя отсутствуют разрешения на создание разделов реестра (SecurityException).
Длина имени раздела превышает ограничение в 255 знаков (ArgumentException).
Раздел является закрытым (IOException).
Раздел реестра доступен только для чтения (UnauthorizedAccessException).
Безопасность
Для выполнения этого процесса сборке требуется уровень привилегий, предоставляемых классом RegistryPermission. Если процесс выполняется в контексте с частичным доверием, он может сгенерировать исключение из-за недостатка привилегий. Аналогичным образом пользователь должен иметь правильный список управления доступом для создания и записи параметров. Например, локальное приложение, имеющее разрешение управления доступом для кода, может не иметь разрешения операционной системы. Дополнительные сведения см. в разделе Основы управления доступом для кода.
См. также
Задачи
Устранение неполадок, связанных с управлением реестром (Visual Basic)
Пошаговое руководство. Создание раздела реестра и изменение его значений (Visual Basic)