c# 操作注册表
最近的项目中涉及到对注册表的操作, 就对最近的学习做一次总结
注册表的相关操作在 RegistryKey 类中, 命名空间在 Microsoft.Win32 中.
- 首先, 先介绍一下系统的注册表, 已经对注册表有一定了解的 可跳过这一节. 注册表(Registry)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.
正常情况下,你可以点击开始菜单当中的运行,然后输入regedit或regedit.exe点击确定就能打开windows操作系统自带的注册表编辑器了, 启动注册表编辑器效果如下图
如果操作系统是64位, 注册表中也会存在32位的注册表项, 32位注册表在Wow6432Node节点下, 默认情况下32位注册表中的项会自动映射,
2. 注册表相关操作
创建注册表项
RegistryKey microsoft = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft", true); microsoft.CreateSubKey("MySoft");
//创建节点 RegistryKey mySoft = microsoft.OpenSubKey("MySoft", true);
//设置值 mySoft.SetValue("Name", "MySoft");
获取注册项值
RegistryKey mySoft = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\MySoft", false); mySoft.GetValue("Name")?.ToString(); //获取注册表指定项值
在64位程序中指定操作32注册表
RegistryKey localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);