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/>"); V];Eg. 4(Uy*Z= [ 本 資 料 來 源 於 貴 州 學 習 網 網路編程.Net教程 http://Www.gzU521.com ] V];Eg. 4(Uy*Z=
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;
}
}
}
本文來自學習網(www.gzu521.com),原文地址:http://www.gzu521.com/campus/article/program/200809/176006.htm