我教你學(xué)之注冊(cè)表基礎(chǔ)篇
注:本文和今后的系列文章中均以Windows XP的注冊(cè)表為例(與Windows.NET Server注冊(cè)表相同)來(lái)作介紹。
1.1 注冊(cè)表的概念
Windows的注冊(cè)表實(shí)質(zhì)上是一個(gè)龐大的數(shù)據(jù)庫(kù),用來(lái)存儲(chǔ)計(jì)算機(jī)軟硬件的各種配置信息其內(nèi)容有幾下幾個(gè)方面:
- 軟硬件的有關(guān)配置和狀態(tài)信息,應(yīng)用程序和資源管理器外殼的初始條件、首選項(xiàng)和卸載數(shù)據(jù)。
- 計(jì)算機(jī)整個(gè)系統(tǒng)的設(shè)置和各種許可,文件擴(kuò)展名與應(yīng)用程序的關(guān)聯(lián),硬件的描述、狀態(tài)和屬性。
- 計(jì)算機(jī)性能記錄和底層的系統(tǒng)狀態(tài)信息以及各類(lèi)其它數(shù)據(jù)。
1.2 注冊(cè)表與早期ini文件的區(qū)別
在早期的Windows操作系統(tǒng)中(如Windows 3.x)中是通過(guò)兩個(gè)擴(kuò)展名為ini的文件(system.ini和win.ini)來(lái)完成對(duì)軟硬件工作環(huán)境的配置的。其中,system.ini控制軟件,而win.ini控制桌面和應(yīng)用程序。ini文件的缺點(diǎn)是大小被限制在64KB以?xún)?nèi),但是隨著操作系統(tǒng)的功能日益強(qiáng)大,應(yīng)用程序不斷增加,不得不增加新的ini文件來(lái)對(duì)應(yīng)用程序進(jìn)行控制。這使ini文件體積龐大,操作系統(tǒng)運(yùn)行速度降低,管理和維護(hù)也不盡方便。而且,ini文件容易被文本編輯器編輯,編輯過(guò)程易出錯(cuò)從而造成系統(tǒng)比較脆弱。另外,ini文件只存儲(chǔ)在本機(jī)上,想通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問(wèn)幾乎是不可能的。
為了改進(jìn)以上不足,在Win 95 及其后的版本中,就采用注冊(cè)表管理配置信息的方法,它與ini文件的主要區(qū)別如下:
- 注冊(cè)表使用二進(jìn)制形式存儲(chǔ)數(shù)據(jù)。
- 注冊(cè)表支持主鍵,各級(jí)子鍵都有自己的“鍵值項(xiàng)”。
- 注冊(cè)表中的鍵值項(xiàng)不止是簡(jiǎn)單的字串,而且包含著可執(zhí)行代碼。
- 在同一臺(tái)計(jì)算機(jī)上,注冊(cè)表允許存儲(chǔ)多個(gè)用戶(hù)的特性。
1.3 注冊(cè)表的功能
在Windows XP 操作系統(tǒng)中,注冊(cè)表作為一個(gè)保存驅(qū)動(dòng)程序所有設(shè)置及存放位置的數(shù)據(jù)庫(kù),與Windows XP系統(tǒng)及驅(qū)動(dòng)程序間有著密切關(guān)系,扮演著操作系統(tǒng)與驅(qū)動(dòng)程序連接者的角色。
當(dāng)操作系統(tǒng)訪問(wèn)硬件設(shè)備時(shí),針對(duì)BIOS設(shè)置程序報(bào)告給Windows XP的設(shè)備,Windows XP會(huì)將適當(dāng)?shù)尿?qū)動(dòng)程序裝在到系統(tǒng)中。這些驅(qū)動(dòng)程序獨(dú)立于操作系統(tǒng),操作系統(tǒng)只需要它們的位置、文件名和版本號(hào)等,而這些信息全都存儲(chǔ)在注冊(cè)表的HEKY_LOCAL_MACHINEHARDWARE中。
同時(shí),注冊(cè)表也承當(dāng)著操作系統(tǒng)與應(yīng)用軟件的連接者。在應(yīng)用程序安裝時(shí),安裝程序會(huì)向注冊(cè)表中寫(xiě)入相關(guān)的運(yùn)行設(shè)置。在應(yīng)用軟件運(yùn)行時(shí),就從注冊(cè)表里讀取所需要的設(shè)置數(shù)據(jù),以便找到所需程序或動(dòng)態(tài)連接庫(kù)。
我們可以通過(guò)修改注冊(cè)表訂制個(gè)性化桌面;手動(dòng)對(duì)某些軟硬件參數(shù)進(jìn)行修改而無(wú)需重啟系統(tǒng);通過(guò)刪除注冊(cè)表中的垃圾信息,可以提高計(jì)算機(jī)運(yùn)行速度;恢復(fù)受損的注冊(cè)表可解決系統(tǒng)故障和錯(cuò)誤;由注冊(cè)表可在網(wǎng)上檢查系統(tǒng)的配置和設(shè)置,實(shí)現(xiàn)遠(yuǎn)程管理系統(tǒng)。
1.4Windows XP注冊(cè)表文件位置及組成
Winndows XP注冊(cè)表的數(shù)據(jù)文件放在C:\Windows\System32\config文件夾內(nèi)分別是DEFAULT、SAM、SECURITY、SYSTEM、SOFTWARE和userdiff。如圖所示:

打開(kāi)注冊(cè)表編輯器的方法是單擊[開(kāi)始]|[運(yùn)行],在命令行中輸入“regedit”或“regedt32”,點(diǎn)[確定]或回車(chē)即可。
注冊(cè)表的結(jié)構(gòu)組成由根鍵、主鍵、子鍵和鍵值項(xiàng)等組成。如圖所示,根鍵(root key)是指在注冊(cè)表編輯器左邊窗口中以“HKEY”作為前綴開(kāi)頭的字符串,因其處于注冊(cè)表的最頂層而被稱(chēng)為根鍵,Windows XP注冊(cè)表中包括五大根鍵,都存于根目錄“我的電腦”下,分別為HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS和HKEY_CURRENT_CONFIG。

主鍵(main key)是指根鍵下面與根鍵最近的鍵,主鍵通常包括一個(gè)或多個(gè)子鍵或值項(xiàng)。如圖中HKEY_CURRENT_USER中包括14個(gè)主鍵。
子鍵(sub key)是指包含在主鍵下面的鍵,其名稱(chēng)是相對(duì)于主鍵而言的。每個(gè)主鍵下面通常包含若干子鍵,如主鍵AppEvents下面包含兩個(gè)子鍵。
鍵值項(xiàng)(value entry)是指顯示在注冊(cè)表編輯器右邊的各種信息,如圖所示,每個(gè)鍵值項(xiàng)包括名稱(chēng)、類(lèi)型和數(shù)據(jù)三部分。鍵值項(xiàng)的名稱(chēng)可以由任意字符、數(shù)字、代表符合空格組成,但不能使用反斜杠。不同根鍵、主鍵和子鍵的鍵值項(xiàng)可以同名,但同一鍵中的鍵值項(xiàng)不能同名。鍵值項(xiàng)所定義的內(nèi)容就是該鍵值項(xiàng)的值,其數(shù)據(jù)最大可以占用64KB的空間。值的數(shù)據(jù)類(lèi)型可以是字符串、二進(jìn)制值、DWORD(雙字節(jié))值等。
相關(guān)文章
巧改注冊(cè)表解決WinXP不能發(fā)郵件問(wèn)題
巧改注冊(cè)表解決WinXP不能發(fā)郵件問(wèn)題...2006-10-10DOS環(huán)境下玩轉(zhuǎn)Windows注冊(cè)表
DOS環(huán)境下玩轉(zhuǎn)Windows注冊(cè)表...2006-10-10二十九、教你備份與恢復(fù)Windows 2000注冊(cè)表
二十九、教你備份與恢復(fù)Windows 2000注冊(cè)表...2006-10-10小技巧搞定 修改注冊(cè)表給光驅(qū)換卷標(biāo)
小技巧搞定 修改注冊(cè)表給光驅(qū)換卷標(biāo)...2006-10-10我教你學(xué)之注冊(cè)表系統(tǒng)外觀修改實(shí)例(一)
我教你學(xué)之注冊(cè)表系統(tǒng)外觀修改實(shí)例(一)...2006-10-10