Я думал, что это проблема безопасности, но после нескольких попыток я больше не уверен.Не удается получить доступ к реестру после вызова GetSubkeyNames()?
Я пытаюсь прочитать имена подключений, а затем читать значения из подраздела, но я получаю «Запрошенный доступ к реестру не разрешен», но приложение работает как администратор. Ниже приведен мой код:
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}");
//string[] names = key.GetSubKeyNames(); //causes error at key.OpenSubkey below
string[] names = new[] {"0000", "0001", "0002"};
foreach (string name in names)
{
string fname =key.OpenSubKey(name).GetValue("FriendlyName").ToString();
string port =key.OpenSubKey(name).GetValue("AttachedTo").ToString();
listView1.Items.Add(new ListViewItem(new[] {name, fname, port}));
}
Что может быть причиной этого? Я попытался закрыть ключ, но это добавляет еще одну попытку доступа к закрытой ключевой ошибке.