C#操作注册表

发布时间:2024年01月09日

说明

今天用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可以获取当前用户注册表,以及所有用户的注册表,分别对应注册表的更路径。

在这里插入图片描述
在这里插入图片描述
获取到注册表键值RegistryKey,通过GetValueNames函数获取注册表项,遍历返回的数据组,可以得到对应的注册表项。

文章来源:https://blog.csdn.net/scy518/article/details/135479133
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。