Практическое руководство. Создание раздела в реестре (Visual C#)
В этом примере пара значений "Name" и "Isabella" добавляется к текущему реестру пользователя в разделе "Names".
Пример
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();
Компиляция кода
Скопируйте код и вставьте его в метод Main консольного приложения.
Замените параметр Names именем раздела, который находится прямо в узле HKEY_CURRENT_USER реестра.
Замените параметр Nam именем значения, которое находится прямо в узле "Names".
Отказоустойчивость
Исследуйте структуру реестра и найдите подходящее место для создания раздела. Например, можно открыть раздел "Software" для текущего пользователя и создать в нем подраздел с названием компании, а затем добавить значения для этого подраздела.
Исключение может возникнуть при следующих условиях:
Имя раздела представляет собой значение NULL.
У пользователя отсутствуют разрешения на создание разделов реестра.
Длина имени раздела превышает ограничение в 255 знаков.
Раздел является закрытым.
Раздел реестра доступен только для чтения.
Безопасность
Безопаснее записывать данные в папку пользователя — Microsoft.Win32.Registry.CurrentUser, — чем в папку локального компьютера — Microsoft.Win32.Registry.LocalMachine.
При создании значения реестра следует решить, что делать, если такое значение уже есть. Есть вероятность, что другой процесс, возможно вредоносный, уже создал это значение и имеет к нему доступ. При добавлении данных в значение реестра они становятся доступными другим процессам. Для предотвращения этого используется метод Overload:Microsoft.Win32.RegistryKey.GetValue. Он возвращает NULL, если данный раздел не существует.
Хранить секретные данные, например пароли, в реестре в виде обычного текста небезопасно, даже если раздел реестра защищен списком ACL.
См. также
Ссылки
Основные понятия
Руководство по программированию на C#
Другие ресурсы
Файловая система и реестр (Руководство по программированию на C#)