******* 億恩-天使QQ 530997 電話037163322213分享*************
Windows注冊表是幫助Windows控制硬件、軟件、用戶環(huán)境和Windows界面的一套數(shù)據(jù)文件,注冊表包含在Windows目錄下兩個(gè)文件system.dat和user.dat里,還有它們的備份system.da0和user.da0。通過Windows目錄下的regedit.exe程序可以存取注冊表數(shù)據(jù)庫。在以前,在windows的更早版本(在Win95以前),這些功能是靠win.ini,system.ini和其他和應(yīng)用程序有關(guān)聯(lián)的.ini文件來實(shí)現(xiàn)的.
在windows操作系統(tǒng)家族中,system.ini和win.ini這兩個(gè)文件包含了操作系統(tǒng)所有的控制功能和應(yīng)用程序的信息,system.ini管理計(jì)算機(jī)硬件而win.ini管理桌面和應(yīng)用程序。所有驅(qū)動、字體、設(shè)置和參數(shù)會保存在.ini文件中,任何新程序都會被記錄在.ini文件中。這些記錄會在程序代碼中被引用。因?yàn)槭躻in.ini和system.ini文件大小的限制,程序員添加輔助的.INI文件以用來控制更多的應(yīng)用程序。舉例來說,微軟的Excel有一個(gè)office excel.ini文件,它包含著選項(xiàng)、設(shè)置、缺省參數(shù)和其他關(guān)系到Excel運(yùn)行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路徑和文件名即可。
早在Dos和Win3.x的時(shí)代,大部分的應(yīng)用程序都是采用了 ini 文件(初始化文件)來保存一些配置信息,如設(shè)置路徑,環(huán)境變量等。system.ini和win.ini控制著所有windows和應(yīng)用程序的特征和存取方法,它在少數(shù)的用戶和少數(shù)應(yīng)用程序的環(huán)境中工作的很好。隨著應(yīng)用程序的數(shù)量和復(fù)雜性越來越大,則需要在.ini文件中添加更多的參數(shù)項(xiàng)。
這樣下來,在一個(gè)變化的環(huán)境中,在應(yīng)用程序安裝到系統(tǒng)中后,每個(gè)人都會更改.ini文件。然而,沒有一個(gè)人在刪除應(yīng)用程序后刪除.ini文件中的相關(guān)設(shè)置,所以system.ini和win.ini這個(gè)兩個(gè)文件會變的越來越大。每增加的內(nèi)容會導(dǎo)致系統(tǒng)性能越來越慢。而且每次應(yīng)用程序的升級都出現(xiàn)這樣的難題:升級會增加更多的參數(shù)項(xiàng)但是從來不去掉舊的設(shè)置。而且還有一個(gè)明顯的問題,一個(gè).ini文件的最大尺寸是64KB。為了解決這個(gè)問題,軟件商自己開始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。這樣下來多個(gè).ini文件影響了系統(tǒng)正常的存取級別設(shè)置。如果一個(gè)應(yīng)用程序的.ini文件和WIN.INI文件設(shè)置起沖突,究竟是誰的優(yōu)先級更高呢?
注冊表最初被設(shè)計(jì)為一個(gè)應(yīng)用程序的數(shù)據(jù)文件相關(guān)參考文件,最后擴(kuò)展成對于32位操作系統(tǒng)和應(yīng)用程序包括了所有功能下的東東。注冊表是一套控制操作系統(tǒng)外表和如何響應(yīng)外來事件工作的文件。這些“事件”的范圍從直接存取一個(gè)硬件設(shè)備到接口如何響應(yīng)特定用戶到應(yīng)用程序如何運(yùn)行等等。注冊表因?yàn)樗哪康暮托再|(zhì)變的很復(fù)雜,它被設(shè)計(jì)為專門為32位應(yīng)用程序工作,文件的大小被限制在大約40MB。利用一個(gè)功能強(qiáng)大的注冊表數(shù)據(jù)庫來統(tǒng)一集中地管理系統(tǒng)硬件設(shè)施,軟件配置等信息,從而方便了管理,增強(qiáng)了系統(tǒng)的穩(wěn)定性。最直觀的一個(gè)實(shí)例就是,為什么windows下的不同用戶可以擁有各自的個(gè)性化設(shè)置,如不同的墻紙,不同的桌面。這就是通過注冊表來實(shí)現(xiàn)的。
由此可見,注冊表(Registry)是Windows9x/Me/NT/2000操作系統(tǒng)、硬件設(shè)備以及客戶應(yīng)用程序得以正常運(yùn)行和保存設(shè)置的核心“數(shù)據(jù)庫”;是一個(gè)巨大的樹狀分層的數(shù)據(jù)庫。它記錄了用戶安裝在機(jī)器上的軟件和每個(gè)程序的相互關(guān)聯(lián)關(guān)系;它包含了計(jì)算機(jī)的硬件配置,包括自動配置的即插即用的設(shè)備和已有的各種設(shè)備說明、狀態(tài)屬性以及各種狀態(tài)信息和數(shù)據(jù)等。
一、注冊表都做些什么?
注冊表是為Windows NT和Windows95中所有32位硬件/驅(qū)動和32位應(yīng)用程序設(shè)計(jì)的數(shù)據(jù)文件。16位驅(qū)動在Windows NT下無法工作,所以所有設(shè)備都通過注冊表來控制,一般這些是通過BIOS來控制的。在Win9x下,16位驅(qū)動會繼續(xù)以實(shí)模式方式設(shè)備工作,它們使用system.ini來控制。16位應(yīng)用程序會工作在NT或者Win9x 下,它們的程序仍然會參考win.ini和system.ini文件獲得信息和控制。
在沒有注冊表的情況下,操作系統(tǒng)不會獲得必須的信息來運(yùn)行和控制附屬的設(shè)備和應(yīng)用程序及正確響應(yīng)用戶的輸入。
在系統(tǒng)中注冊表是一個(gè)記錄32位驅(qū)動的設(shè)置和位置的數(shù)據(jù)庫。當(dāng)操作系統(tǒng)需要存取硬件設(shè)備,它使用驅(qū)動程序,甚至設(shè)備是一個(gè)BIOS支持的設(shè)備。無BIOS支持的設(shè)備安裝時(shí)必須需要驅(qū)動,這個(gè)驅(qū)動是獨(dú)立于操作系統(tǒng)的,但是操作系統(tǒng)需要知道從哪里找到它們,文件名、版本號、其他設(shè)置和信息,沒有注冊表對設(shè)備的記錄,它們就不能被使用。
當(dāng)一個(gè)用戶準(zhǔn)備運(yùn)行一個(gè)應(yīng)用程序,注冊表提供應(yīng)用程序信息給操作系統(tǒng),這樣應(yīng)用程序可以被找到,正確數(shù)據(jù)文件的位置被規(guī)定,其他設(shè)置也都可以被使用。
注冊表保存關(guān)于缺省數(shù)據(jù)和輔助文件的位置信息、菜單、按鈕條、窗口狀態(tài)和其他可選項(xiàng)。它同樣也保存了安裝信息(比如說日期),安裝軟件的用戶,軟件版本號和日期,序列號等。根據(jù)安裝軟件的不同,它包括的信息也不同。
然而,一般來說,注冊表控制所有32位應(yīng)用程序和驅(qū)動,控制的方法是基于用戶和計(jì)算機(jī)的,而不依賴于應(yīng)用程序或驅(qū)動,每個(gè)注冊表的參數(shù)項(xiàng)控制了一個(gè)用戶的功能或者計(jì)算機(jī)功能。用戶功能可能包括了桌面外觀和用戶目錄。所以,計(jì)算機(jī)功能和安裝的硬件和軟件有關(guān),對所以用戶來說項(xiàng)都是公用的。
有些程序功能對用戶有影響,有些時(shí)作用于計(jì)算機(jī)而不是為個(gè)人設(shè)置的,同樣的,驅(qū)動可能是用戶指定的,但在很多時(shí)候,它們在計(jì)算機(jī)中是通用的。
二、注冊表的結(jié)構(gòu)劃分及相互關(guān)系
WINDOWS的注冊表有六大根鍵,相當(dāng)于一個(gè)硬盤被分成了六個(gè)分區(qū)。
在“運(yùn)行”對話框中輸入RegEdit,然后單擊“確定”按鈕,則可以運(yùn)行注冊表編輯器。
Windows 98中文版的注冊表Registry(System.dat、User.dat、Config.pol)的數(shù)據(jù)組織結(jié)構(gòu)。
注冊表的根鍵共六個(gè)。這些根鍵都是大寫的,并以HKEY_為前綴;這種命令約定是以Win32 API的Registry函數(shù)的關(guān)鍵字的符號變量為基礎(chǔ)的。
雖然在注冊表中,六個(gè)根鍵看上去處于一種并列的地位,彼此毫無關(guān)系。但事實(shí)上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。
HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系統(tǒng)啟動后,系統(tǒng)就映射出HKEY_CURRENT_USER中的信息,使得用戶可以查看和編輯其中的信息。
實(shí)際上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,為了用戶便于查看和編輯,系統(tǒng)專門把它作為一個(gè)根鍵。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。
HKEY_USERS中保存了默認(rèn)用戶和當(dāng)前登錄用戶的用戶信息。HKEY_CURRENT_USER中保存了當(dāng)前登錄用戶的用戶信息。
HKEY_DYN_DATA保存了系統(tǒng)運(yùn)行時(shí)的動態(tài)數(shù)據(jù),它反映出系統(tǒng)的當(dāng)前狀態(tài),在每次運(yùn)行時(shí)都是不一樣的,即便是在同一臺機(jī)器上。
根據(jù)上面的分析,注冊表中的信息可以分為HKEY_LOCAL_MACHINE和HKEY_USERS兩大類,這兩大類的詳細(xì)內(nèi)容請看后面的介紹。
三、六大根鍵的作用
在注冊表中,所有的數(shù)據(jù)都是通過一種樹狀結(jié)構(gòu)以鍵和子鍵的方式組織起來,十分類似于目錄結(jié)構(gòu)。每個(gè)鍵都包含了一組特定的信息,每個(gè)鍵的鍵名都是 和它所包含的信息相關(guān)的。如果這個(gè)鍵包含子鍵,則在注冊表編輯器窗口中代表這個(gè)鍵的文件夾的左邊將有“+”符號,以表示在這個(gè)文件夾中有更多的內(nèi)容。如果這個(gè)文件夾被用戶打開了,那么這個(gè)“+”就會變成“-”。
1.HKEY_USERS
該根鍵保存了存放在本地計(jì)算機(jī)口令列表中的用戶標(biāo)識和密碼列表。每個(gè)用戶的預(yù)配置信息都存儲在HKEY_USERS根鍵中。HKEY_USERS是遠(yuǎn)程計(jì)算機(jī)中訪問的根鍵之一。
2.HKEY_CURRENT_USER
該根鍵包含本地工作站中存放的當(dāng)前登錄的用戶信息,包括用戶登錄用戶名和暫存的密碼(注:此密碼在輸入時(shí)是隱藏的)。用戶登錄Windows 98時(shí),其信息從HKEY_USERS中相應(yīng)的項(xiàng)拷貝到HKEY_CURRENT_USER中。
3.HKEY_CURRENT_CONFIG
該根鍵存放著定義當(dāng)前用戶桌面配置(如顯示器等)的數(shù)據(jù),最后使用的文檔列表(MRU)和其他有關(guān)當(dāng)前用戶的Windows 98中文版的安裝的信息。
4.HKEY_CLASSES_ROOT
根據(jù)在Windows 98中文版中安裝的應(yīng)用程序的擴(kuò)展名,該根鍵指明其文件類型的名稱。
在第一次安裝Windows 98中文版時(shí),RTF(Rich Text format)文件與寫字板(WordPad)&127;聯(lián)系起來,但在以后安裝了中文Word 6.0后,雙擊一個(gè)RTF文件時(shí),將自動激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,將替代WIN.INI文件中的[Extensions]&127;小節(jié)中的設(shè)置項(xiàng),它把應(yīng)用程序與文件擴(kuò)展名聯(lián)系起來,它也替代了Windows 3.x中的Reg.dat文件中的相似的設(shè)置項(xiàng)。
5.HKEY_LOCAL_MACHINE
該根鍵存放本地計(jì)算機(jī)硬件數(shù)據(jù),此根鍵下的子關(guān)鍵字包括在SYSTEM.DAT中,用來提供HKEY_LOCAL_MACHINE所需的信息,或者在遠(yuǎn)程計(jì)算機(jī)中可訪問的一組鍵中。
該根鍵中的許多子鍵與System.ini文件中設(shè)置項(xiàng)類似。
6.HKEY_DYN_DATA
該根鍵存放了系統(tǒng)在運(yùn)行時(shí)動態(tài)數(shù)據(jù),此數(shù)據(jù)在每次顯示時(shí)都是變化的,因此,此根鍵下的信息沒有放在注冊表中。
******* 億恩-天使QQ 530997 電話037163322213分享*************
本文出自:億恩科技【prubsntakaful.com】
******* 億恩-天使QQ 530997 電話037163322213分享*************
本文出自:億恩科技【www.enidc.com】 -->
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|