C#注册表的读,写,删除,查找

  using System;
  using System.Collections;
  using System.Configuration;
  using System.Data;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.HtmlControls;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using Microsoft.Win32;
  public partial class Register : System.Web.UI.Page
  {
   protected void Page_Load(object sender, EventArgs e)
   {
   Response.Write("这里是读取到的信息"+"<br/>");
   ReadRegedit();
   Response.Write("<br/>");
   Response.Write("这里将要写入信息swort/swort-test" + "<br/>");
   WriteRegedit();
   Response.Write("写入结束" + "<br/>");
   Response.Write("查看存在与否" + "<br/>");
   ExistsRegedit();
   Response.Write("查看结束" + "<br/>");
   Response.Write("删除" + "<br/>");
   DeleteRegedit();
   Response.Write("删除结束" + "<br/>");
   Response.Write("查看存在与否" + "<br/>");
   ExistsRegedit();
   Response.Write("查看结束" + "<br/>");
   }
   /// <summary>
   /// 注册表的读取
   /// </summary>
   /// <returns></returns>
   public void ReadRegedit()
   {
   RegistryKey rk = Registry.CurrentUser;
   RegistryKey softWare = rk.OpenSubKey("Software");
   RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
   RegistryKey windows = microsoft.OpenSubKey("Windows");
   RegistryKey current = windows.OpenSubKey("CurrentVersion");
   RegistryKey explorer = current.OpenSubKey("Explorer");
   RegistryKey shell = explorer.OpenSubKey(@"Shell Folders");
   foreach (string b in shell.GetValueNames())//这里用shell.GetValueNames()不是shell.GetSubKeyNames()
   {
   Response.Write( b+" "+ shell.GetValue(b).ToString());
   Response.Write("<br/>");
  
   }
  
  
   }
   /// <summary>
   /// 注册表的写入
   /// </summary>
   /// <returns></returns>
   public bool WriteRegedit()
   {
   try
   {
   RegistryKey rk = Registry.CurrentUser;
   RegistryKey softWare = rk.OpenSubKey("Software");
   RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
   RegistryKey windows = microsoft.OpenSubKey("Windows");
   RegistryKey current = windows.OpenSubKey("CurrentVersion");
   RegistryKey explorer = current.OpenSubKey("Explorer");
   RegistryKey shell = explorer.OpenSubKey(@"Shell Folders", true);//这里必须加true就是得到写入权限
   RegistryKey key = shell.CreateSubKey("swort");//创建swort目录
   key.SetValue("swort", "test");
   //在swort目录下建立写入swort test
   Response.Write("写入成功!!!!!!!!!");
   return true;
   }
   catch
   {
   return false;
   }
  
   }
   /// <summary>
   /// 注册表的删除
   /// </summary>
   /// <returns></returns>
   public bool DeleteRegedit()
   {
   try
   {
   RegistryKey rk = Registry.CurrentUser;
   RegistryKey softWare = rk.OpenSubKey("Software");
   RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
   RegistryKey windows = microsoft.OpenSubKey("Windows");
   RegistryKey current = windows.OpenSubKey("CurrentVersion");
   RegistryKey explorer = current.OpenSubKey("Explorer");
   RegistryKey shell = explorer.OpenSubKey(@"Shell Folders",true);
   RegistryKey swort = shell.OpenSubKey("swort",true);//这里必须加true就是得到写入权限
   swort.DeleteValue("swort");//删除swort的值 这个连键值一起删除了 剩下一个
   shell.DeleteSubKey("swort",false);//删除swort这个目录 要删除这个目录 必须具有权限
  
   Response.Write("删除成功!!!!!!!!!");
   return true;
   }
   catch
   {
   return false;
   }
   return true;
   }
   /// <summary>
   /// 查询某个键值是否存在
   /// </summary>
   /// <returns></returns>
   public bool ExistsRegedit()
   {
   RegistryKey rk = Registry.CurrentUser;
   RegistryKey softWare = rk.OpenSubKey("Software");
   RegistryKey microsoft = softWare.OpenSubKey("Microsoft");
   RegistryKey windows = microsoft.OpenSubKey("Windows");
   RegistryKey current = windows.OpenSubKey("CurrentVersion");
   RegistryKey explorer = current.OpenSubKey("Explorer");
   RegistryKey shell = explorer.OpenSubKey(@"Shell Folders");
   if (shell.SubKeyCount != 0)
   {
   RegistryKey swort = shell.OpenSubKey("swort");
   foreach (string b in swort.GetValueNames())
   {
   if (b == "swort")
   {
   Response.Write("存在这个键!");
   return true;
   }
   }
   Response.Write("不存在这个键!");
   return false;
   }
   else
   { Response.Write("不存在这个键!");
   return false;
   }
   }
  }