溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么編輯注冊表

發(fā)布時間:2021-07-08 14:28:04 來源:億速云 閱讀:170 作者:Leah 欄目:編程語言

C#中怎么編輯注冊表,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Windows 操作系統(tǒng)的注冊表包含了很多有關計算機運行的配置方式,打開注冊表我們可以看到注冊表是按類似于目錄的樹結構組織的,其中第二級目錄包含了五個預定義主鍵分別是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。
下面我們來分別解釋這5個類的作用

◆HKEY_CLASSES_ROOT該主鍵包含了文件的擴展名和應用程序的關聯(lián)信息以及Window Shell和OLE用于儲存注冊表的信息。該主鍵下的子鍵決定了在WINDOWS中如何顯示該類文件以及他們的圖標,該主鍵是從 HKEY_LCCAL_MACHINE\SOFTWARE\Classes映射過來的。

◆HKEY_CURRENT_USER該主鍵包含了如用戶窗口信息,桌面設置等當前用戶的信息。

◆HKEY_LOCAL_MACHINE主鍵包含了計算機軟件和硬件的安裝和配置信息,該信息可供所有用戶使用

◆HKEY_USERS該主鍵記錄了當前用戶的設置信息,每次用戶登入系統(tǒng)時,就會在該主鍵下生成一個與用戶登入名一樣的子鍵,該子鍵保存了當前用戶的桌面設置、背景位圖、快捷鍵,字體等信息。一般應用程序不直接訪問改主鍵,而是通過主鍵HKEY_CURRENT_USER進行訪問。

◆HKEY_CURRENT_CONFIG該主鍵保存了計算機當前硬件的配置信息,這些配置可以根據(jù)當前所連接的網(wǎng)絡類型或硬件驅動軟件安裝的改變而改變。

C#編輯注冊表,.NET框架在Microsoft.Win32名字空間中提供了兩個類來C#編輯注冊表:Registry和RegistryKey。這兩個類都是密封類不允許被繼承。下面我們分別來介紹這兩個類。

Registry類提供了7個公共的靜態(tài)域,分別代表7個基本主鍵(其中兩個在XP系統(tǒng)中沒有,在這就不介紹了)分別是:Registry.ClassesRoot,Registry.CurrentUser,Registry.LocalMachine,Registry.Users,Registry.CurrentConfig。它們分別對應哪幾個鍵我想各位一看就會知道吧。

RegistryKey類中提供了對注冊表操作的方法。要注意的是C#編輯注冊表必須符合系統(tǒng)權限,否則將會拋出錯誤。
下面我們就來幾個C#編輯注冊表常用的幾個方法

創(chuàng)建子鍵的方法原型為:

public RegistryKey CreateSubKey(string sunbkey);

參數(shù)sunbkey表示要創(chuàng)建的子鍵的名稱或路徑名。創(chuàng)建成功返回被創(chuàng)建的子鍵,否則返回null。

打開子鍵的方法原型為:

public RegistryKey OpenSubKey(string name); public RegistryKey OpenSubKey(string name,bool writable);

參數(shù)name表示要打開的子鍵名或其路徑名,參數(shù)writable表示被打開的子鍵是否允許被修改,***個方法打開的子鍵是只讀的。Microsoft.Win32類還為我們提供了另一個方法,用于打開遠程計算機上的注冊表,方法原型為:

public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey,string machineName);

刪除子鍵的方法原型為:

public void DeleteKey(string subkey);

該方法用于刪除指定的主鍵。如果要刪除的子鍵還包含主鍵則刪除失敗,并返回一個異常,如果要徹底刪除該子鍵極其目錄下的子鍵可以用方法DeleteSubKeyTree,該方法原型如下:

public void DeleteKeyTree(string subkey);

讀取鍵值的方法原型如下:

public object GetValue(string name); public object GetValue(string name,object defaultValue);

參數(shù)name表示鍵的名稱,返回類型是一個object類型,如果指定的鍵不存在則返回null。如果失敗又不希望返回的值是null則可以指定參數(shù)defaultValue,指定了參數(shù)則在讀取失敗的情況下返回該參數(shù)指定的值。

設置鍵值的方法原型如下:

public object SetValue(string name,object value);

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI