使用C 如何寫入 讀取登錄檔資訊

2022-02-24 10:23:36 字數 1863 閱讀 9260

本文節選自《21天學通c#》一書

在一些系統軟體開發中,常常將一些軟體執行環境、系統配置等資訊寫入到登錄檔中,除非是所謂的綠色軟體。

在windows平台上的軟體,幾乎都會和登錄檔打交道。在本節中,將介紹如何將資訊寫入到登錄檔中。

【範例19-5

】在本例中演示如何使用registrykey類將資訊寫入到登錄檔中,如示例**19

-5所示。

示例**19-5

01using

microsoft.win32;                                        

//關於登錄檔的命名空間

02namespace

ex_19_5

0310

private

void

form1_load(

object

sender, eventargs e)

//窗體載入事件

1118

rsg 

=registry.localmachine.opensubkey(

"software\\microsoft", 

true

);    

//true表可以修改

19rsg.setvalue(

"hoanreg", 

"寫入的值

");       

//寫入

20rsg.close();                                            

//關閉21}

22}23}

【執行結果】選擇「除錯」

|「啟動除錯」命令執行程式。

【**解析】在本例中,寫入登錄檔之前,首先要判斷是否存在註冊鍵,第13行**就是實現這個功能的。

在第16行中,如果不存在註冊鍵就建立它,然後在第19行進行寫入,寫入之前先要開啟,

將opensubkey方法的第二個引數設定成true,表示可寫。

【讀取登錄檔】

讀取登錄檔在軟體開發中,也是一項很常見的任務。因為很多軟體的相關環境變數都是儲存在登錄檔中。

例如,在windows作業系統中,ie的主頁位址資訊就是儲存在登錄檔中,甚至計算機名稱、使用者名稱等資訊也是儲存在登錄檔中的。

【範例19-6

】在本例中,將讀取在範例19

-5中寫入的登錄檔資訊,如示例**19

-6所示。

示例**19-6

01using

microsoft.win32;                                    

//登錄檔命名空間

02namespace

ex_19_7

0310

private

void

button1_click(

object

sender, eventargs e)    

//銨鈕單擊事件

1120

else

21this

.label1.text ="

該鍵不存在!";

22rsg.close();                            

//關閉23}

24catch

(exception ex)                        

//捕獲異常

2528}29

}30}【執行結果】選擇「除錯」

|「啟動除錯」命令執行程式。

【**解析】在本例中,要讀取的值是上乙個例子中寫入的值。在第15行**處首先開啟要讀取的註冊鍵,

然後在第16行用if語句和getvalue方法判斷是否有資料讀出。如果有讀出,則在第18行中將它賦給文字框。

C 讀取登錄檔資訊

登錄檔是視窗系統的乙個核心的資料庫,在這個資料庫中存放中與系統相關的各種引數,這些引數直接控制中系統的啟動 硬體的驅動程式安裝資訊以及在視窗系統 上執行的各種應用程式的註冊資訊等。這就意味著,如果登錄檔因為某些原因受到了破壞,輕者是視窗系統啟動過程出現異常,重者就有可能導致整個系統的完全癱 瘓。所以...

C 讀取登錄檔資訊

登錄檔是視窗系統的乙個核心的資料庫,在這個資料庫中存放中與系統相關的各種引數,這些引數直接控制中系統的啟動 硬體的驅動程式安裝資訊以及在視窗系統上執行的各種應用程式的註冊資訊等。這就意味著,如果登錄檔因為某些原因受到了破壞,輕者是視窗系統啟動過程出現異常,重者就有可能導致整個系統的完全癱瘓。所以正確...

C 如何讀取登錄檔中的註冊資訊

一 初步認識登錄檔 單擊 開始 執行 在 開啟 的後面填入 regedit 就可以看到登錄檔的資料結構了。如下圖。注 regedit檔案是微軟公司提供給使用者編輯登錄檔的乙個工具。在登錄檔中稱為 主鍵 據圖可見,主鍵 是有層次結構的。主鍵的下一級主鍵稱為該主鍵的 子鍵 每乙個主鍵可以對擁有多個子鍵。...