今天和大家分享一下C#操作注册表时遇到的问题。
前些时候写业务逻辑时需要持久化一些数据到注册表,C#操作注册表非常简单,相关的解决方案网上也非常多,接下来为大家稍微说明一下:

RegistryKey key = Registry.ClassesRoot;
//key = Registry.CurrentUser;
//key = Registry.LocalMachine;
//key = Registry.Users;
//key = Registry.CurrentConfig;

C#中采用 Registry类定义一个注册表对象。分别可以定义ClassesRoot、CurrentUser、LocalMachine、Users、CurrentConfig。这几个选项分别对应了注册表根目录的几个类型:
图片1
— 好了,接下来给大家说说操作时的权限问题,总结下来如下:
1.如果当前操作系统是非管理员,操作LocalMachine、Users、CurrentConfig提示异常。 2.如果当前用户是本地管理员,可以操作LocalMachine。

  1. win10现在可以使用Microsoft 这个账户虽然是管理员,但是默认运行时只有部分权限,需要使用“以管理员启动程序”。