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

王朝c#·作者佚名  2008-09-25
窄屏简体版  字體: |||超大  

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;

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航