net框架在microsoft.win32名字空間中提供了兩個類來操作登錄檔:registry和registrykey。這兩個類都是密封類不允許被繼承。下面我們分別來介紹這兩個類。
registry類提供了7個公共的靜態域,分別代表7個基本主鍵(其中兩個在xp系統中沒有)分別是:
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主鍵
registrykey類中提供了對登錄檔操作的方法。要注意的是操作登錄檔必須符合系統許可權,否則將會丟擲錯誤。
建立子鍵的方法原型為:
public registrykey createsubkey(string sunbkey);
引數sunbkey表示要建立的子鍵的名稱或路徑名。建立成功返回被建立的子鍵,否則返回null。
開啟子鍵的方法原型為:
public registrykey opensubkey(string name);
public registrykey opensubkey(string name,bool writable);
引數name表示要開啟的子鍵名或其路徑名,引數writable表示被開啟的子鍵是否允許被修改,第乙個方法開啟的子鍵是唯讀的。
刪除子鍵的方法原型為:
public void deletesubkey(string subkey);
該方法用於刪除指定的主鍵。如果要刪除的子鍵還包含主鍵則刪除失敗,並返回乙個異常,如果要徹底刪除該子鍵極其目錄下的子鍵可以用方法deletesubkeytree,該方法原型如下:
public void deletesunkeytree(string subkey);
讀取鍵值的方法原型如下:
public object getvalue(string name);
public object getvalue(string name,object defaultvalue);
引數name表示鍵的名稱,返回型別是乙個object型別,如果指定的鍵不存在則返回null。如果失敗又不希望返回的值是null則可以指定引數defaultvalue,指定了引數則在讀取失敗的情況下返回該引數指定的值。
設定鍵值的方法原型如下:
public object setvalue(string name,object value);
刪除鍵值的方法原型如下:
public void deletevalue(string name);
下面是本人自己寫的測試小例,執行沒有錯誤。
1. 寫入
tryrsg = registry.localmachine.opensubkey("software\\ring",true);//true表示可以修改
//if (rsg.getvalue("testreg") == null)
////else
"testreg", system.datetime.now.tostring());
rsg.close();
}catch (exception ex)
2. 讀取
tryelse
this.label2.text = "該鍵不存在!";
rsg.close();
}catch (exception ex)
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 中修改...
C 讀寫登錄檔
ie 是現在windows 平台下用的最多的瀏覽器,那麼如何用程式來修改 ie,打造有自己的特色的 ie呢?我在這裡向介紹怎麼 c 用通過登錄檔來修改ie。首先我們來熟悉一下 c 中修改登錄檔的方法與函式。在 vc 中提供了 registry 類 registrykey 類來實現對登錄檔的操作。其中...