登錄檔操作

2021-06-22 11:10:32 字數 2781 閱讀 3409

在 執行 裡輸入regedit 就可以開啟註冊編輯器了。

1、要操作登錄檔,需先引入以下引用:

using microsoft.win32;

2、命名空間裡面提供了乙個類:registrykey  利用它我們可以定位到登錄檔最開頭的分支:

classesroot,currentuser,users,localmachine,currentconfig 。 

如:registrykey key = registry.localmachine;

3、最後要呼叫registrykey物件的close()關閉對登錄檔的修改。

【登錄檔項的操作:建立、開啟、刪除】

(1)建立:

registrykey key = registry.localmachine;

registrykey software = key.createsubkey("software\\test");

(2)開啟:

registrykey key = registry.localmachine;

registrykey software = key.opensubkey("software\\test",true);

//注意該方法後面還可以有乙個布林型的引數,true表示可以寫入。

注意,如果該登錄檔項不存在,這呼叫這個方法會丟擲異常

(3)刪除:

registrykey key = registry.localmachine;

key.deletesubkey("software\\test", true); //該方法無返回值,直接呼叫即可

key.close();

【鍵值的操作:建立、讀取、刪除】

(1)建立:

registrykey key = registry.localmachine;

registrykey software = key.opensubkey("software\\test", true); //該項必須已存在

software.setvalue("test", "");

//在hkey_local_machine\software\test下建立乙個名為「test」,值為「」的鍵值。如果該鍵值原本已經存在,則會修改替換原來的鍵值,如果不存在則是建立該鍵值

// 注意:setvalue()還有第三個引數,主要是用於設定鍵值的型別,如:字串,二進位制,dword等等~~預設是字串。如:

// software.setvalue("test", "0", registryvaluekind.dword); //二進位制資訊

key.close();

(2)讀取:

registrykey myreg = registry.localmachine;

registrykey key;

key = registry.localmachine;

myreg = key.opensubkey("software\\test");

string info = myreg.getvalue("test").tostring();

myreg.close();

(3)刪除:

registrykey delkey = registry.localmachine.opensubkey("software\\test", true);

delkey.deletevalue("test");

delkey.close();

【判斷登錄檔項、鍵值是否存在】

(1)判斷登錄檔項是否存在:

string subkeynames;

registrykey hkml = registry.localmachine;

registrykey software = hkml.opensubkey("software");

//registrykey software = hkml.opensubkey("software", true);

subkeynames = software.getsubkeynames();

//取得該項下所有子項的名稱的序列,並傳遞給預定的陣列中

foreach (string keyname in subkeynames) //遍歷整個陣列

}hkml.close();

messagebox.show("不存在");

(2)判斷鍵值是否存在

string subkeynames;

registrykey hkml = registry.localmachine;

registrykey software = hkml.opensubkey("software\\test");

//registrykey software = hkml.opensubkey("software\\test", true);

subkeynames = software.getvaluenames();

//取得該項下所有鍵值的名稱的序列,並傳遞給預定的陣列中

foreach (string keyname in subkeynames)

}hkml.close();

messagebox.show("不存在");

登錄檔操作

近來由於需要在自己寫的程式中對登錄檔進行操作。總結些經驗,並做個乙個demo供日後使用,現在把它拿出來和大家分享 小弟初學vc,有誤之處還請賜教。為了使用方便,我把一些操作寫成了函式,以便方便呼叫,具體 如下所示 一 定義 hkey hkey char content 256 所查詢登錄檔鍵值的內容...

登錄檔操作

2005年10月29日 19 29 00 一 寫入 1.建立檔案 建立乙個註冊 式檔案 reg,內容如下 windows registry editor version 5.00 hkey local machine software test server 192.168.66.22 databa...

登錄檔操作

import win32con key win32api.regopenkey win32con.hkey current user,software 0,win32con.key read print key import win32api import win32com key win32api...