Как добавить/изменить ключи реестра OEMInformation с помощью C#?Изменение OEM-информации в C#
Я пытался использовать этот код, но он возвращает ошибку:
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Microsoft\Windows\CurrentVersion\OEMInformation", true);
myKey.SetValue("manufacturer", "Asus", RegistryValueKind.String);
Эта ошибка возвращается:
Необработанное исключение типа «System.Security.SecurityException» произошло в mscorlib.dll
Дополнительная информация: Запрошенный доступ к реестру не допускается.
EDIT:
Также попробовал этот код:
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Microsoft\Windows\CurrentVersion\OEMInformation");
key.SetValue("manufacturer", "Asus");
key.Close();
но этот код возвращает также ошибку:
Необработанное исключение типа 'System.UnauthorizedAccessException' произошло в mscorlib.dll
Дополнительная информация: не удается записать в раздел реестра.
И мое приложение уже работает как администратор, используя этот код:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Возможный дубликат [Как заставить мое приложение .NET работать под управлением Windows 7?] (Http://stackoverflow.com/questions/2818179/how-to-force-my-net-app-to-run -as-administrator-on-windows-7) –
Вы добавили код, но действительно ли он работает как администратор? Вам нужно проверить настройки проекта, чтобы он фактически использовал файл манифеста, в котором вы указываете строку 'RequireAdministrator'. –
Также, если вы щелкните правой кнопкой мыши по ключу и перейдите к «Разрешениям», это покажет, что [Администраторы имеют полные права доступа к ключу] (http://i.stack.imgur.com/5K0o3.png)? –