Получение значения (на правой панели) из реестра - PullRequest
0 голосов
/ 10 апреля 2011

Я пытаюсь получить значение из реестра в Windows, который находится под несколькими ветвями:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\... 

Учитывая следующий код:

RegistryKey openSubKey = settings.OpenSubKey(
    @"\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\DefaultSpoolDirectory");

openSubKey.SetValue("printername", "");

Где установлены настройкив LocalMachine в Microsoft.Win32.Registry.

Тем не менее, я получаю нулевое значение после первой строки кода.Что дает?

Ответы [ 3 ]

2 голосов
/ 10 апреля 2011

Две ошибки, \ HKEY_LOCAL_MACHINE там не принадлежит, вы должны использовать Registry.LocalMachine вместо этого.И DefaultSpoolDirectory там не принадлежит, это значение, а не ключ.

Аргументы SetValue () тоже не выглядят счастливыми.Если вы хотите добавить принтер (не), вам нужно добавить ключ, а не значение.

0 голосов
/ 10 апреля 2011

Ответ Ричарда кажется правильным, но просто для того, чтобы проинформировать вас немного подробнее, вы можете получить доступ к области действия реестра LocalMachine через свойство Registry.LocalMachine - проверьте эту ссылку MSDN для получения подробной информации.Например, попробуйте это:

var openSubKey = Registry.LocalMachine.OpenSubKey(
    @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers");
0 голосов
/ 10 апреля 2011

попробуйте удалить "\ hkey_local_machine"

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