Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод CreateSubKey
My.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. Разработчики должны искать альтернативные средства выполнения задач безопасности.