Как добавить / изменить ключи реестра с помощью C #? - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу добавить / отредактировать ключи реестра через приложение C #.

Я пробовал это, но он не добавляет ключ:

    Microsoft.Win32.RegistryKey key;
            key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Serialize");
            key.SetValue("Startupdelayinmsec", "dword:00000000");
            key.Close();

        }

код должен добавить этот ключ:

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \CurrentVersion \ Explorer \ Serialize] "Startupdelayinmsec" = dword: 00000000

Я не уверен, но, возможно, это потому, что я использую 64 системы, когда я использую Microsoft.Win32.RegistryKey.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 08 ноября 2019

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

Во-вторых, у вас неправильный синтаксис для вызова SetValue. Предполагается, что вторым параметром является объект, для которого устанавливается значение, а не строка, представляющая значение и его тип, который, как вы ожидаете, будет делать. Другими словами, измените его на это:

key.SetValue("Startupdelayinmsec", 0);

или если вы хотите указать точный тип нового значения, то это:

key.SetValue("Startupdelayinmsec", 0, RegistryValueKind.DWord);

Кроме того, как и другиеЗаявлено в комментариях, вам понадобятся права на изменение реестра. Вход в систему как администратор может быть недостаточно. Вам также может понадобиться запустить ваше приложение как администратор.

...