C# 向注册表授予权限



我在Form1_Load上做了一个修改注册表值的代码。但是当我打开编译的 Form1 时,出现"拒绝访问注册表项"错误。如何在Form1_Load上获得指定位置的权限?位置HKEY_LOCAL_MACHINESOFTWAREClassesAppID{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}。我还尝试以管理员身份运行 Form1。也许我错过了一些这样做的特权。我可以使用属性等手动更改注册表中的权限,但是如何使用代码更改权限以修改所选位置? 代码是

RegistryKey key;
key = Registry.LocalMachine.CreateSubKey(@"SOFTWAREClassesAppID{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}");
key.SetValue("RunAs", "Interactive User");
RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Registry64).CreateSubKey(@"SOFTWAREClassesAppID{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}", true);
key.SetValue("RunAs", "Interactive User");

并确保程序在应用清单中具有 requireAdministrator perm。

最新更新