往登錄檔中寫入資料是大部分常見的windows系統優化工具的根本方法,因此只要掌握了寫入的方法且對登錄檔有足夠的了解,讀者完全可以用c#實現乙個自己的系統優化工具。
例項如下:
using microsoft.win32;
class program
static void main(string[ ] args)
setregistdata("my value");//寫入資料
console.writeline("寫入登錄檔成功!");
console.writeline("讀取到的值為:");
console.writeline(getregistdata());//讀取資料
setregistdata(@ "c:\windows\system32");//恢復原始資料
static string getregistdata()
string registdata;//用於儲存讀取值的變數
//用hkml表示登錄檔的根鍵"hkey_local_machine"
registrykey hkml=registry.localmachine;
//獲得根鍵"hkey_local_machine"下的"software"子鍵
registrykey software=hkml.opensubkey("software",true);
//獲得子鍵"hkey_local_machine"下的"microsoft"子鍵
registrykey microsoft=software.opensubkey("microsoft",true);
//獲得子鍵"hkey_local_machine\software\microsoft"下的"windows"子鍵
registrykey windows=microsoft.opensubkey("windows",true);
//獲得子鍵"hkey_local_machine\software\microsoft\windows"下的"help"子鍵
registrykey help=windows.opensubkey("help",true);
//獲得子鍵"hkey_local_machine\software\microsoft\windows\help"下的"pintlpae.hlp"的值
registdatahelp.getvalue(@ "pintlpae.hlp").tostring();
console.writeline("讀取登錄檔成功");
return registdata;
static void setregistdata(string myvalue)
//用hkml表示登錄檔的根鍵"hkey_local_machine"
registrykey hkml=registry.localmachine;
//獲得根鍵"hkey_local_machine"下的"software"子鍵
registrykey software=hkml.opensubkey("software",true);
//獲得子鍵"hkey_local_machine"下的"microsoft"子鍵
registrykey microsoft=software.opensubkey("microsoft",true);
//獲得子鍵"hkey_local_machine\software\microsoft"下的"windows"子鍵
registrykey windows=microsoft.opensubkey("windows",true);
//獲得子鍵"hkey_local_machine\software\microsoft\windows"下的"help"子鍵
registrykey help=windows.opensubkey("help",true);
//獲得子鍵"hkey_local_machine\software\microsoft\windows\help"下的"pintlpae.hlp"的值
registdatahelp.setvalue(@ "pintlpae.hlp",myvalue).tostring();
//刪除登錄檔的值
static void delregistdata(string myvalue)
//用hkml表示登錄檔的根鍵"hkey_local_machine"
registrykey hkml=registry.localmachine;
//獲得根鍵"hkey_local_machine"下的"software"子鍵
registrykey software=hkml.opensubkey("software",true);
//獲得子鍵"hkey_local_machine"下的"microsoft"子鍵
registrykey microsoft=software.opensubkey("microsoft",true);
//獲得子鍵"hkey_local_machine\software\microsoft"下的"windows"子鍵
registrykey windows=microsoft.opensubkey("windows",true);
//獲得子鍵"hkey_local_machine\software\microsoft\windows"下的"help"子鍵
registrykey help=windows.opensubkey("help",true);
//刪除子鍵「hkey_local_machine\software\microsoft\windows|help"下的"myvalue"值
help.deletevalue(myvalue,false);
獲取登錄檔中的所有值項
class program
static void main(string[ ] args)
//讀取所有該子鍵下的值項
string[ ] names=listregistdata("myvalue");
//列出所有值項
foreach(string name in names)
console.writeline(name);
static string[ ] listregistdata(string myvalue)
registrykey help=entervalue();
string[ ] names=help.getvaluenames();
return names;
private static registrykey entervalue()
//用hkml表示登錄檔的根鍵"hkey_local_machine"
registrykey hkml=registry.localmachine;
//獲得根鍵"hkey_local_machine"下的"software"子鍵
registrykey software=hkml.opensubkey("software",true);
//獲得子鍵"hkey_local_machine"下的"microsoft"子鍵
registrykey microsoft=software.opensubkey("microsoft",true);
//獲得子鍵"hkey_local_machine\software\microsoft"下的"windows"子鍵
registrykey windows=microsoft.opensubkey("windows",true);
//獲得子鍵"hkey_local_machine\software\microsoft\windows"下的"help"子鍵
registrykey help=windows.opensubkey("help",true);
return help;
讀寫登錄檔
ie 是現在windows 平台下用的最多的瀏覽器,那麼如何用程式來修改 ie,打造有自己的特色的 ie呢?我在這裡向介紹怎麼 c 用通過登錄檔來修改ie。首先我們來熟悉一下 c 中修改登錄檔的方法與函式。在 vc 中提供了 registry 類 registrykey 類來實現對登錄檔的操作。其中...
讀寫登錄檔
寫登錄檔 registrykey regwrite 往hkey current user主鍵裡的software子鍵下寫乙個名為 test 的子鍵 如果test子鍵已經存在系統會自動覆蓋它 regwrite registry.currentuser.createsubkey software tes...
VC讀寫登錄檔
讀登錄檔 void cregeditdlg onquery 查詢有關的資料 lpbyte owner get new byte 80 dword type 1 reg sz dword cbdata 1 80 long ret1 regqueryvalueex hkey,registeredowne...