如何用visual c#來建立、修改註冊資訊
(王天 2023年01月08日 20:08)
在《如何讀取註冊資訊》和《用visual c#來刪除登錄檔中的註冊資訊》
文章中,已經**了用visual c#來讀取、刪除登錄檔中的註冊資訊,在本篇文章中我們就來介紹visual c#登錄檔程式設計的另外二個重要的操作:建立註冊資訊和修改註冊資訊。
在上二篇文章中,我們已經知道,由於visual c#本身沒有類庫,他是通過.net框架中的.net framework sdk(軟體開發包)定義的一些類來實現對登錄檔的操作。這就是命名空間microsoft.win32中封裝的二個類:registry類、registrykey類。在registrykey類中定義了二個方法用來建立登錄檔中的主鍵、子鍵和鍵值。他們是createsubvalue ( )方法和setvalue ( )方法。那麼如何用visual c#來修改註冊資訊,在本文中,我們只是介紹了修改登錄檔中的鍵值的方法。而對於主鍵和子鍵,由於.net framework sdk中還沒有定義這方面的方法,所以還無法完成安全的修改登錄檔中的資訊。下面就先介紹如何用visual c#來建立註冊資訊。
一.visual c#建立和修改註冊資訊要呼叫的二個方法:
(1).createsubkey ( string key )方法:此方法是建立以後面的字串為名稱的子鍵。當然這種方法不僅能夠建立子鍵,在下面介紹的程式中,也通過此種方法來建立乙個主鍵。
(2).setvalue ( string name , string keyvalue )方法:此方法的作用有二點,一種可以用來重新命名鍵值的數值,一種可以用來建立新的鍵值。具體情況如下:當開啟的子鍵中,如果存在此鍵值,就把新值賦給他,實現重新命名操作。如果不存在,則建立乙個新的鍵值。
二.程式設計和執行環境以及要準備的工作:
i>視窗系統2000伺服器版
ii>.net framework sdk beta 2版
iii>由於在程式中,要修改乙個已經存在的鍵值,所以就要預先設定好鍵值所在的位置。開啟登錄檔的編輯器,在"hkey_local_machine"主鍵下面的"hardware"子鍵下面建立"aaa"子鍵並在此子鍵下面建立乙個名稱為"bbb"的鍵值。具體如下圖所示:
圖01:為程式設定的登錄檔的結構圖示
三.程式的主要功能以及設計的重要步驟:
在下面介紹的程式中,主要的功能是用visual c#在登錄檔中建立乙個主鍵、乙個子鍵和修改乙個指定的鍵值。其中要建立的子鍵的結構層次是在主鍵"hkey_local_machin"下面的"hareware"主鍵下,名稱為"ddd",其中包含乙個鍵值,名稱為"www",鍵值的值為"1234"。
其中的要建立的主鍵的結構層次也是在主鍵"hkey_local_machin"下面的"hareware"主鍵下,名稱為"main",在此主鍵下面包含乙個名稱為"sub"的子鍵和名稱為"value"鍵值,鍵值的值為"1234"。下面就來著重介紹visual c#是如何建立和修改這些主鍵、子鍵和鍵值的。
(1).如何建立乙個子鍵,在程式中是結合createsubkey ( )方法和setvalue ( )方法來實現的,以下是程式中建立子鍵的源程式:
listbox1.items.clear ( ) ;
registrykey hklm = registry.localmachine ;
registrykey software = hklm.opensubkey ( "hardware" , true ) ;
registrykey main1 = software.createsubkey ( "main" ) ;
registrykey ddd = main1.createsubkey ( "sub" ) ;
ddd.setvalue ( "value" , "1234" );
(2).如何建立乙個主鍵,建立乙個主鍵和建立乙個子鍵的過程大致是差不多的。由於主鍵包含若干子鍵,所以在建立主鍵的時候必須注意他們的層次關係。下面這一段程式,在參考的時候,請注意一下main鍵和sub鍵之間的關係。
listbox1.items.clear ( ) ;
registrykey hklm = registry.localmachine ;
registrykey software = hklm.opensubkey ( "hardware", true ) ;
registrykey main1 = software.createsubkey ( "main" ) ;
registrykey ddd = main1.createsubkey ( "sub" ) ;
ddd.setvalue ( "value" , "1234" ) ;
(3).如何修改註冊資訊。由於登錄檔中的資訊十分重要,所以一般不要對其進行寫的操作。也可能是這個原因,在.net framework sdk 中並沒有提供修改登錄檔鍵的方法。而只是提供了乙個危害性相對較小的方法--setvalue ( ),通過這個方法,我們可以來修改鍵值。下面程式**是修改乙個指定鍵值名稱的鍵值。當然由於setvalue( )方法的特性,如果它檢測到這個鍵值不存在,就會建立乙個新的鍵值。
listbox1.items.clear ( ) ;
registrykey hklm = registry.localmachine ;
registrykey software = hklm.opensubkey ( "hardware", true ) ;
registrykey dddw = software.opensubkey ( "aaa" , true ) ;
dddw.setvalue ( "bbb" , "abcd" ) ;
以下是程式執行的介面:
如何用Visual C 來建立 修改註冊資訊
如何用visual c 來建立 修改註冊資訊 王天 2002年01月08日 20 08 在 如何讀取註冊資訊 和 用visual c 來刪除登錄檔中的註冊資訊 文章中,已經 了用visual c 來讀取 刪除登錄檔中的註冊資訊,在本篇文章中我們就來介紹visual c 登錄檔程式設計的另外二個重要的...
用Visual C 來建立 修改登錄檔資訊
在 如何讀取註冊資訊 和 用visual c 來刪除登錄檔中的註冊資訊 文章中,已經 了用visual c 來讀取 刪除登錄檔中的註冊資訊,在本篇文章中我們就來介紹visual c 登錄檔程式設計的另外二個重要的操作 建立註冊資訊和修改註冊資訊。在上二篇文章中,我們已經知道,由於visual c 本...
如何用go來建立web服務
mac安裝 brew install golang 配置環境變數 vi bash profile 或 vi etc profile export goroot usr local go 安裝目錄 export gopath goroot bin 工作區 即工作目錄 可以配置多個,以 分割 expor...