国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C#中對(duì)注冊(cè)表的操作

2019-11-18 16:56:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Windows 操作系統(tǒng)注冊(cè)表包含了很多有關(guān)計(jì)算機(jī)運(yùn)行的配置方式,打開注冊(cè)表我們可以看到注冊(cè)表是按類似于目錄的樹結(jié)構(gòu)組織的,其中第二級(jí)目錄包含了五個(gè)預(yù)定義主鍵分別是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。

  下面我們來(lái)分別解釋這5個(gè)類的作用

  HKEY_CLASSES_ROOT該主鍵包含了文件的擴(kuò)展名和應(yīng)用程序的關(guān)聯(lián)信息以及Window Shell和OLE用于儲(chǔ)存注冊(cè)表的信息。該主鍵下的子鍵決定了在WINDOWS中如何顯示該類文件以及他們的圖標(biāo),該主鍵是從HKEY_LCCAL_MACHINE/SOFTWARE/Classes映射過(guò)來(lái)的。

  HKEY_CURRENT_USER該主鍵包含了如用戶窗口信息,桌面設(shè)置等當(dāng)前用戶的信息。

  HKEY_LOCAL_MACHINE主鍵包含了計(jì)算機(jī)軟件和硬件的安裝和配置信息,該信息可供所有用戶使用
  HKEY_USERS該主鍵記錄了當(dāng)前用戶的設(shè)置信息,每次用戶登入系統(tǒng)時(shí),就會(huì)在該主鍵下生成一個(gè)與用戶登入名一樣的子鍵,該子鍵保存了當(dāng)前用戶的桌面設(shè)置、背景位圖、快捷鍵,字體等信息。一般應(yīng)用程序不直接訪問(wèn)改主鍵,而是通過(guò)主鍵HKEY_CURRENT_USER進(jìn)行訪問(wèn)。

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

  C#也支持對(duì)注冊(cè)表的編輯,.NET框架在Microsoft.Win32名字空間中提供了兩個(gè)類來(lái)操作注冊(cè)表:Registry和RegistryKey。這兩個(gè)類都是密封類不允許被繼承。下面我們分別來(lái)介紹這兩個(gè)類。

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

  RegistryKey類中提供了對(duì)注冊(cè)表操作的方法。要注意的是操作注冊(cè)表必須符合系統(tǒng)權(quán)限,否則將會(huì)拋出錯(cuò)誤。

  下面我們就來(lái)幾個(gè)操作注冊(cè)表常用的幾個(gè)方法

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

 
   public RegistryKey CreateSubKey(string sunbkey);
 

 

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

  打開子鍵的方法原型為:

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


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

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


  刪除子鍵的方法原型為:

 
   public void DeleteKey(string subkey);
 


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

 
   public void DeleteKeyTree(string subkey);
 


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

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


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

  設(shè)置鍵值的方法原型如下:

 
   public object SetValue(string name,object value);
 
http://m.survivalescaperooms.com/sutar/archive/2006/10/06/522187.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南开区| 兴安盟| 淮安市| 乐平市| 剑阁县| 雅江县| 固始县| 石景山区| 武宣县| 连城县| 滁州市| 兴国县| 浦江县| 镇赉县| 西和县| 定安县| 武义县| 邯郸市| 封丘县| 中西区| 南开区| 霍州市| 济源市| 天水市| 象州县| 平武县| 连南| 宁武县| 高淳县| 汉川市| 忻州市| 任丘市| 香港| 临漳县| 西和县| 乌审旗| 兰州市| 三门县| 兰西县| 榆林市| 石门县|