Я пытаюсь включить звуковое устройство на C#. Это приводит к System.Security.SecurityException: «Запрошенный доступ к реестру запрещен».. Просто загрузка (чтение) ключа работает, значит путь правильный.
То же самое произойдет, даже если я запущу программу C# от имени администратора.
строка baseKeyName = device.RegistryPath; RegistryKey localMachine = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64); Ключ реестра? regKey = localMachine.OpenSubKey(baseKeyName, true); // System.Security.SecurityException: «Запрошенный доступ к реестру запрещен». если (regKey == null) вернуть false; // с false (только чтение) я получаю regKey regKey.SetValue("DeviceState", deviceState, RegistryValueKind.DWord); regKey.Закрыть(); То же самое можно сделать в редакторе реестра.
Есть идеи, почему разрешения не предоставляются в C#?

Обновление 1:
Я пробовал RegistryView.Registry64 и RegistryView.Registry32 (ключ не дал) безуспешно. Обновление просто невозможно (работает только чтение), хотя программа работает от имени Администратора.
Обновление 2:
Я не ожидал, что это сработает, поскольку уже пробовал «Запуск от имени администратора». Но в манифесте тоже не помог.
Похожие темы и ссылки
[*]Функция Win32 API для программного включения/отключения устройства [*]https://www.tenforums.com/tutorials/803 ... ndows.html