首頁  >  文章  >  後端開發  >  C# 註冊表 操作實現代碼

C# 註冊表 操作實現代碼

黄舟
黄舟原創
2016-12-22 13:41:091103瀏覽

其中第二級目錄包含了五個預定義主鍵分別是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。

下面我們來分別解釋這5個類別的作用 

  HKEY_CLASSES_ROOT該主鍵包含了檔案的副檔名和應用程式的關聯資訊以及Window Shell和OLE用來儲存登錄檔的資訊。這個主鍵下的子鍵決定了在WINDOWS中如何顯示該類別檔案以及他們的圖標,該主鍵是從HKEY_LCCAL_MACHINESOFTWAREClasses映射過來的。 
HKEY_CURRENT_USER此主鍵包含如使用者視窗訊息,桌面設定等目前使用者的資訊。

HKEY_LOCAL_MACHINE主鍵包含了電腦軟體和硬體的安裝和設定訊息,可供所有使用者使用 
  HKEY_USERS該主鍵記錄了目前使用者的設定訊息,每次使用者登錄系統時,就會在該主鍵下產生一個主鍵產生一個與使用者登錄名一樣的子鍵,該子鍵保存了當前使用者的桌面設定、背景點陣圖、快速鍵,字體等資訊。一般應用程式不會直接存取改主鍵,而是透過主鍵HKEY_CURRENT_USER進行存取。 

  HKEY_CURRENT_CONFIG此主鍵保存了電腦目前硬體的設定訊息,這些設定可以根據目前所連接的網路類型或硬體驅動軟體安裝的變更而變更。 

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

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

  RegistryKey類別中提供了對登錄操作的方法。要注意的是操作註冊表必須符合系統權限,否則將會拋出錯誤。

  下面我們就來幾個作業註冊表常用的幾個方法 

  創建子鍵的方法原型為: 


  public RegistryKey CreateSub(string鍵的名稱或路徑名。建立成功返回被建立的子鍵,否則傳回null。

  開啟子鍵的方法原型為: 


  public RegistryKey OpenSubKey(string name); 
  public RegistryKey OpenSub(string name); 
  public RegistryKeycanKey(string name,string name);路徑名,參數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); 
的名稱,回傳類型是一個object類型,如果指定的鍵不存在則傳回null。如果失敗又不希望傳回的值是null則可以指定參數defaultValue,指定了參數則在讀取失敗的情況下傳回該參數指定的值。

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


  public object SetValue(string name,object value);

 以上是C#www. .cn)!




陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn