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;
   }
   }
  }