Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Метод CreateSubKeyMy.Computer.Registry объекта можно использовать для создания раздела реестра.
Процедура
Чтобы создать ключ реестра
Используйте метод
CreateSubKey, указав, под какой улей следует поместить ключ, а также имя ключа. ПараметрSubkeyне учитывает регистр. В этом примере создается ключMyTestKeyв разделе HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Создайте ключ реестра и задайте значение в нем
Используйте метод
CreateSubkey, указав, под какой улей следует поместить ключ, а также имя ключа. В этом примере создается ключMyTestKeyв разделе HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")Задайте значение с помощью метода
SetValue. Этот пример задает строковое значение. "MyTestKeyValue" в "Это тестовое значение".My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Пример
В этом примере создается раздел реестра MyTestKey в HKEY_CURRENT_USER, а затем устанавливает строковое значение MyTestKeyValue в This is a test value.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
"MyTestKeyValue", "This is a test value.")
Надежное программирование
Изучите структуру реестра, чтобы найти подходящее расположение для ключа. Например, может потребоваться открыть HKEY_CURRENT_USER\Software ключ текущего пользователя и создать ключ с именем вашей компании. Затем добавьте значения реестра в ключ вашей компании.
При чтении реестра из веб-приложения текущий пользователь зависит от проверки подлинности и олицетворения, реализованной в веб-приложении.
Это более безопасно для записи данных в папку пользователя (CurrentUser), а не на локальный компьютер (LocalMachine).
При создании значения реестра необходимо решить, что делать, если это значение уже существует. Другой процесс, возможно, уже создал этот параметр, причем он может быть злонамеренным, и имеет к нему доступ. При вставке данных в значение реестра данные доступны для другого процесса. Чтобы предотвратить это, используйте GetValue метод. Возвращает Nothing, если ключ еще не существует.
Небезопасно хранить секреты, такие как пароли, в реестре как обычный текст, даже если раздел реестра защищен списками управления доступом (списки управления доступом).
Следующие условия могут вызвать исключение:
Имя ключа —
Nothing(ArgumentNullException).У пользователя нет прав на создание ключей реестра (SecurityException).
Имя ключа превышает ограничение в 255 символов (ArgumentException).
Ключ закрыт (IOException).
Ключ реестра доступен только для чтения (UnauthorizedAccessException).
Безопасность .NET Framework
Для выполнения этого процесса сборке требуется привилегированный доступ, предоставленный классом RegistryPermission. Если вы работаете в контексте частичного доверия, процесс может вызвать исключение из-за нехватки привилегий. Аналогичным образом, у пользователя должны быть корректные ACL для создания или изменения параметров. Например, локальное приложение с разрешением на доступ к коду может не иметь разрешения операционной системы. Дополнительные сведения см. в разделе Основы безопасности доступа к коду.
Замечание
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.