建立登錄檔讀寫程式 二

2021-06-26 20:44:44 字數 3883 閱讀 8355

往登錄檔中寫入資料是大部分常見的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...