Изменить раздел в реестре с помощью C # - PullRequest
2 голосов
/ 04 ноября 2011

Мне нужно изменить подраздел в реестре.

Я много гуглил и не нашел способа изменить подраздел.

Поддерживает ли Microsoft эту функцию?

Я могу изменить пару ключ / значение, но не подключ, используя это

Registry.SetValue(keypath, subkey, Guid.NewGuid().ToString("B"));

Ответы [ 4 ]

1 голос
/ 04 ноября 2011
static void WriteRegistry(RegistryKey parentKey, String subKey, String valueName, Object value)
{
        RegistryKey key;
    try
    {
        key = parentKey.OpenSubKey(subKey, true);
        if(key == null) //If the key doesn't exist.
                {
           key = parentKey.CreateSubKey(subKey);
                }

        //Set the value.
        key.SetValue(valueName, value);

        Console.WriteLine("Value:{0} for {1} is successfully written.", value, valueName);
    }
    catch(Exception e)
    {
        Console.WriteLine("Error occurs in WriteRegistry" + e.Message);
    }
}
1 голос
/ 04 ноября 2011

Что вы пытаетесь изменить в подразделе?Если это имя, оно доступно только для чтения и не может быть изменено.Regedit может переименовывать ключи путем создания нового и индивидуального копирования каждого дополнительного ключа и значения в новый.

1 голос
/ 04 ноября 2011

Если вы пытаетесь изменить «значение по умолчанию», используйте пустую строку в качестве имени значения при его установке.

1 голос
/ 04 ноября 2011

Вы ищете метод RegistryKey.CreateSubKey.

Пример (от http://msdn.microsoft.com/en-us/library/ad51f2dx.aspx):

 RegistryKey test9999 = Registry.CurrentUser.CreateSubKey("Test9999");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...