c# 操作注册表

最近的项目中涉及到对注册表的操作, 就对最近的学习做一次总结

注册表的相关操作在 RegistryKey 类中, 命名空间在 Microsoft.Win32 中.

  1. 首先, 先介绍一下系统的注册表, 已经对注册表有一定了解的 可跳过这一节.  注册表(Registry)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息. 

  正常情况下,你可以点击开始菜单当中的运行,然后输入regedit或regedit.exe点击确定就能打开windows操作系统自带的注册表编辑器了, 启动注册表编辑器效果如下图

如果操作系统是64位, 注册表中也会存在32位的注册表项, 32位注册表在Wow6432Node节点下, 默认情况下32位注册表中的项会自动映射, 

2. 注册表相关操作

    创建注册表项

      

RegistryKey microsoft = Registry.LocalMachine.OpenSubKey(@"SoftwareMicrosoft", true);
microsoft.CreateSubKey("MySoft");
//创建节点 RegistryKey mySoft
= microsoft.OpenSubKey("MySoft", true);
//设置值 mySoft.SetValue(
"Name", "MySoft");

    获取注册项值

RegistryKey mySoft = Registry.LocalMachine.OpenSubKey(@"SoftwareMicrosoftMySoft", false);
mySoft.GetValue("Name")?.ToString();   //获取注册表指定项值

    在64位程序中指定操作32注册表

  

  RegistryKey localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
原文地址:https://www.cnblogs.com/applebox/p/11609067.html