winform不允许所请求的注册表访问权(securityexception)

版权声明:转载请注明出处 https://blog.csdn.net/geol200709/article/details/89309500

用C#写了一个桌面应用(WinForm),由于win7的机子挂掉,换了一台新的机子,win10系统。
启动的时候,报了一个错:不允许所请求的注册表访问权

//系统注册表信息
var mreg = Registry.LocalMachine;
 //IE注册表信息
 var ie = mreg.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", RegistryKeyPermissionCheck.ReadWriteSubTree);

securityException
搜索一波,找到靠谱的解决方案:
将原来的那一句

var mreg = Registry.LocalMachine;

改成:

var mreg = Registry.CurrentUser;

完美解释:一般在win7下,VS访问注册表HKEY_LOCAL_MACHINE,即程序中的LocalMachine是使用管理员身份运行的,之前的win7是属于默认管理员权限运行,而win10则不会自动获取管理员权限的。但是访问HKEY_CURRENT_USER是没问题的

猜你喜欢

转载自blog.csdn.net/geol200709/article/details/89309500
今日推荐