C#操作注册表

说明

今天用C#开发了一个简单的服务,需要设置成为自启动,网上有很多方法,放到启动运行等,但是今天想介绍一个,通过修改注册表实现,同时介绍一下操作注册表。


   private void TestReg()
   {
       //仅对当前用户有效 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
       //using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true))

       //对所有用户有效 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
       using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true))
       {
           if (key != null)
           {

               string[] valueNames = key.GetValueNames();
               foreach (string valueName in valueNames)
               {
                   string valueData = key.GetValue(valueName).ToString();
                   Console.WriteLine($"{valueName} {valueData}");
               }

               // 删除注册表项即可
               // key.DeleteValue(name, false);
           }
       }
   }

第一步使用 Registry可以获取当前用户注册表,以及所有用户的注册表,分别对应注册表的更路径。

C#操作注册表_第1张图片
C#操作注册表_第2张图片
获取到注册表键值RegistryKey,通过GetValueNames函数获取注册表项,遍历返回的数据组,可以得到对应的注册表项。

你可能感兴趣的:(C#编程,c#,开发语言)