我在Form1_Load
上做了修改注册表值的代码。但是,当我打开编译的Form1时,出现“拒绝访问注册表项”错误。我如何在Form1_Load
上获得指定位置的许可?该位置是HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}
。我还尝试以管理员身份运行Form1。也许我很想念这件事。我可以使用“属性”等在注册表中手动更改权限,但是如何更改使用代码修改所选位置的权限?
代码是
RegistryKey key;
key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Classes\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}");
key.SetValue("RunAs", "Interactive User");
答案 0 :(得分:0)
RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Registry64).CreateSubKey(@"SOFTWARE\Classes\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}", true);
key.SetValue("RunAs", "Interactive User");
并确保您的程序在应用清单中具有requireAdministrator权限。