登錄檔是視窗系統的乙個核心的資料庫,在這個資料庫中存放中與系統相關的各種引數,這些引數直接控制中系統的啟動、硬體的驅動程式安裝資訊
以及在視窗系統上執行的各種應用程式的註冊資訊等。這就意味著,如果登錄檔因為某些原因受到了破壞,輕者是視窗系統啟動過程出現異常,重者就有
可能導致整個系統的完全癱瘓。所以正確的認識登錄檔,及時的備份登錄檔,對於視窗使用者就顯得相當重要。
c#就可以十分方便、簡潔的開發出操作登錄檔的程式。單擊"開始/執行",在"開啟"的後面填入"regedit"。就可以看到登錄檔的資料結構了。"主鍵"
是有層次結構的。主鍵的下一級主鍵稱為該主鍵的"子鍵"。每乙個主鍵可以對擁有多個子鍵。右邊的這些值就是所謂的鍵值了。每乙個主鍵或者子鍵都可
以擁有多個鍵值。登錄檔是乙個龐大的資料庫,在其中每乙個主鍵,每乙個鍵值都賦予了不同的功能。
c#如何讀取登錄檔中的主鍵和鍵值:在.net framework sdk beta 2版中,有乙個microsoft.win32的命名空間,在此命名空間中提供了二個用於
登錄檔操作的類:registry類、registrykey類。這二個類都是封閉類,不可以繼承。這二個類定義了許多關於登錄檔的方法和屬性,通過呼叫這二個類
,在visual c#中就可以比較輕鬆的處理關於登錄檔的各種操作了。
(1).registry類:此類主要封裝了七個公有的靜態域,而這些靜態域分別代表這視窗登錄檔中的七個基本的主鍵,具體如下所示:
registry.classesroot 對應於hkey_classes_root主鍵
registry.currentuser 對應於hkey_current_user主鍵
registry.localmachine 對應於 hkey_local_machine主鍵
registry.user 對應於 hkey_user主鍵
registry.currentconfig 對應於heky_current_config主鍵
registry.dynda 對應於hkey_dyn_data主鍵
registry.performancedata 對應於hkey_performance_data主鍵
(2).registrykey類:此類中主要封裝了對視窗系統登錄檔的基本操作。在程式設計中,首先通過registry類找到登錄檔中的基本主鍵,然後通過
registrykey類,來找其下面的子鍵和處理具體的操作的。
下面通過乙個讀取登錄檔資訊例子來具體說明這二個來的用法。
在執行程式前的一些必要的處理工作。在程式設計時,主要功能是讀取已經存在的主鍵鍵值,使用者可以新建若干個主鍵和對應的鍵值。
程式的主要功能是讀取指定主鍵下面的所有子鍵和子鍵擁有的鍵值,並以列表的形式按層次顯示出來。程式設計過程中的重要步驟以及應該注意的一
些問題:
程式中讀取主鍵、子鍵和鍵值所使用到的方法:程式中為了讀取指定主鍵下面的子鍵和子鍵中擁有的鍵值,主要使用了registrykey類中的四個方法:
opensubkey,getsubkeynames,getvaluenames,getvalue。
具體的用法和意思如下:
opensubkey ( string name )方法主要是開啟指定的子鍵。
getsubkeynames ( )方法是獲得主鍵下面的所有子鍵的名稱,它的返回值是乙個字串陣列。
getvaluenames ( )方法是獲得當前子鍵中的所有的鍵名稱,它的返回值也是乙個字串陣列。
getvalue ( string name )方法是獲得指定鍵的鍵值。
以下從『讀』『寫』『刪除』『判斷』四個事例實現對登錄檔的簡單操作
1.讀取指定名稱的登錄檔的值
private string getregistdata(string name)
以上是讀取的登錄檔中hkey_local_machine\software目錄下的***目錄中名稱為name的登錄檔值;
2.向登錄檔中寫資料
private void wtregedit(string name,string tovalue)
以上是在登錄檔中hkey_local_machine\software目錄下新建***目錄並在此目錄下建立名稱為name值為tovalue的登錄檔項;
3.刪除登錄檔中指定的登錄檔項
private void deleteregist(string name)
}以上是在登錄檔中hkey_local_machine\software目錄下***目錄中刪除名稱為name登錄檔項;
4.判斷指定登錄檔項是否存在
private bool isregeditexit(string name)
}return _exit;
}以上是在登錄檔中hkey_local_machine\software目錄下***目錄中判斷名稱為name登錄檔項是否存在,這一方法在刪除登錄檔時已經存在,在
新建一登錄檔項時也應有相應判斷。
如何在C 中輕鬆操作登錄檔
visual studio net以前的版本,要對登錄檔進行修改,則需要呼叫系統api,而現在則不用那麼麻煩,因為.net已經把登錄檔相關的操作封裝到乙個類中,呼叫的時候只要只要呼叫此類物件相應的屬性或方法即可。以下就登錄檔這個類進行說明。首先,要引入註冊類所在的nampespace,如下 接下來就...
C 讀寫登錄檔
static void main string args registry可以獲取登錄檔的根節點。registrykey.createsubkey可以在節點下建立子節點。通過 分隔,可以建立多級節點。setvalue方法用來在指定的節點下建立乙個鍵值對。deletesubkeytree可以遞迴刪除乙...
C 讀寫登錄檔
c 程式設計打造自己的ie瀏覽器選擇自 yudehui 的 blog 關鍵字c 程式設計打造自己的ie瀏覽器 出處ie 是現在windows 平台下用的最多的瀏覽器,那麼如何用程式來修改 ie,打造有自己的特色的 ie呢?我在這裡向介紹怎麼 c 用通過登錄檔來修改ie。首先我們來熟悉一下 c 中修改...