Функция реестра GetValue - PullRequest
       9

Функция реестра GetValue

0 голосов
/ 16 декабря 2009

Я пытаюсь получить значения и установить значения в реестре.

Когда я пытаюсь получить доступ к пути, который не находится в реестре, я получаю исключение.

Но когда я устанавливаю этот путь с помощью Registry.SetValue(keyName, "", 0);, все работает нормально, и я могу получить несуществующие значения из него.

Есть идеи, почему я не могу использовать мою функцию public int GetComponent(string RegKey) для существующих монахов?

public class LP_Registery
{
    private const string userRoot = "HKEY_CURRENT_USER";
    private const string subkey   = @"Software\PCBMatrix\LPWizard";
    private string keyName;

    public LP_Registery(string folderName) => keyName = userRoot + "\\" +  subkey + "\\" + folderName;
    public int GetComponent(string RegKey) => (int)Registry.GetValue(keyName, RegKey, 0); 
    public void SetComponent(string RegKey, int RegVal) => Registry.SetValue(keyName, RegKey, RegVal, RegistryValueKind.DWord);
}

И если это возможно, что я должен делать, это будет возможно.

Спасибо.

1 Ответ

1 голос
/ 16 декабря 2009

окружите GetValue try - catch block и наслаждайтесь кодированием.

Исключения и условия GetValue :

SecurityException : У пользователя нет прав, необходимых для чтения из раздела реестра.

IOException : ключ реестра, который содержит указанное значение было помечены для удаления.

ArgumentException : keyName не имеет начать с правильного корня реестра.


SetValue метод:

Устанавливает указанную пару имя / значение в указанный ключ реестра. Если указанный ключ не существует, он создано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...