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