什么是注冊(cè)表
什么是注冊(cè)表?
注冊(cè)表因?yàn)樗鼜?fù)雜的結(jié)構(gòu)和沒有任何聯(lián)系的CLSID鍵使得它可能看上去很神秘。不幸的是,微軟并沒有完全公開講述關(guān)于注冊(cè)表正確設(shè)置的支持信息,這樣使得注冊(cè)表看上去更不可琢磨。處理和編輯注冊(cè)表如同“黑色藝術(shù)”一樣,它在系統(tǒng)中的設(shè)置讓用戶感覺象在黑暗中摸索一樣找不到感覺。這樣,因?yàn)橛脩魧?duì)這方面的缺乏了解使得注冊(cè)表更多的出現(xiàn)故障。
Windows注冊(cè)表是幫助Windows控制硬件、軟件、用戶環(huán)境和Windows界面的一套數(shù)據(jù)文件,注冊(cè)表包含在Windows目錄下兩個(gè)文件system.dat和user.dat里,還有它們的備份system.da0和user.da0。通過Windows目錄下的regedit.exe程序可以存取注冊(cè)表數(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ū)動(dòng)、字體、設(shè)置和參數(shù)會(huì)保存在.ini文件中,任何新程序都會(huì)被記錄在.ini文件中。這些記錄會(huì)在程序代碼中被引用。因?yàn)槭躻in.ini和system.ini文件大小的限制,程序員添加輔助的.INI文件以用來控制更多的應(yīng)用程序。舉例來說,微軟的Excel有一個(gè)excel.ini文件,它包含著選項(xiàng)、設(shè)置、缺省參數(shù)和其他關(guān)系到Excel運(yùn)行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路徑和文件名即可。
最開始,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è)人都會(huì)更改.ini文件。然而,沒有一個(gè)人在刪除應(yīng)用程序后刪除.ini文件中的相關(guān)設(shè)置,所以system.ini和win.ini這個(gè)兩個(gè)文件會(huì)變的越來越大。每增加的內(nèi)容會(huì)導(dǎo)致系統(tǒng)性能越來越慢。而且每次應(yīng)用程序的升級(jí)都出現(xiàn)這樣的難題:升級(jí)會(huì)增加更多的參數(shù)項(xiàng)但是從來不去掉舊的設(shè)置。而且還有一個(gè)明顯的問題,一個(gè).ini文件的最大尺寸是64KB。為了解決這個(gè)問題,軟件商自己開始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。這樣下來多個(gè).ini文件影響了系統(tǒng)正常的存取級(jí)別設(shè)置。如果一個(gè)應(yīng)用程序的.ini文件和WIN.INI文件設(shè)置起沖突,究竟是誰的優(yōu)先級(jí)更高呢?
注冊(cè)表最初被設(shè)計(jì)為一個(gè)應(yīng)用程序的數(shù)據(jù)文件相關(guān)參考文件,最后擴(kuò)展成對(duì)于32位操作系統(tǒng)和應(yīng)用程序包括了所有功能下的東東.注冊(cè)表是一套控制操作系統(tǒng)外表和如何響應(yīng)外來事件工作的文件。這些“事件”的范圍從直接存取一個(gè)硬件設(shè)備到接口如何響應(yīng)特定用戶到應(yīng)用程序如何運(yùn)行等等。注冊(cè)表因?yàn)樗哪康暮托再|(zhì)變的很復(fù)雜,它被設(shè)計(jì)為專門為32位應(yīng)用程序工作,文件的大小被限制在大約40MB。
注冊(cè)表都做些什么?
注冊(cè)表是為Windows NT和Windows95中所有32位硬件/驅(qū)動(dòng)和32位應(yīng)用程序設(shè)計(jì)的數(shù)據(jù)文件。16位驅(qū)動(dòng)在Winnt下無法工作,所以所有設(shè)備都通過注冊(cè)表來控制,一般這些是通過BIOS來控制的。在Win95下,16位驅(qū)動(dòng)會(huì)繼續(xù)以實(shí)模式方式設(shè)備工作,它們使用system.ini來控制。16位應(yīng)用程序會(huì)工作在NT或者Win95 下,它們的程序仍然會(huì)參考win.ini和system.ini文件獲得信息和控制。
在沒有注冊(cè)表的情況下,操作系統(tǒng)不會(huì)獲得必須的信息來運(yùn)行和控制附屬的設(shè)備和應(yīng)用程序及正確響應(yīng)用戶的輸入。
在系統(tǒng)中注冊(cè)表是一個(gè)記錄32位驅(qū)動(dòng)的設(shè)置和位置的數(shù)據(jù)庫。當(dāng)操作系統(tǒng)需要存取硬件設(shè)備,它使用驅(qū)動(dòng)程序,甚至設(shè)備是一個(gè)BIOS支持的設(shè)備。無BIOS支持設(shè)備安裝時(shí)必須需要驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)是獨(dú)立于操作系統(tǒng)的,但是操作系統(tǒng)需要知道從哪里找到它們,文件名、版本號(hào)、其他設(shè)置和信息,沒有注冊(cè)表對(duì)設(shè)備的記錄,它們就不能被使用。
當(dāng)一個(gè)用戶準(zhǔn)備運(yùn)行一個(gè)應(yīng)用程序,注冊(cè)表提供應(yīng)用程序信息給操作系統(tǒng),這樣應(yīng)用程序可以被找到,正確數(shù)據(jù)文件的位置被規(guī)定,其他設(shè)置也都可以被使用。
注冊(cè)表保存關(guān)于缺省數(shù)據(jù)和輔助文件的位置信息、菜單、按鈕條、窗口狀態(tài)和其他可選項(xiàng)。它同樣也保存了安裝信息(比如說日期),安裝軟件的用戶,軟件版本號(hào)和日期,序列號(hào)等。根據(jù)安裝軟件的不同,它包括的信息也不同。
然而,一般來說,注冊(cè)表控制所有32位應(yīng)用程序和驅(qū)動(dòng),控制的方法是基于用戶和計(jì)算機(jī)的,而不依賴于應(yīng)用程序或驅(qū)動(dòng),每個(gè)注冊(cè)表的參數(shù)項(xiàng)控制了一個(gè)用戶的功能或者計(jì)算機(jī)功能。用戶功能可能包括了桌面外觀和用戶目錄。所以,計(jì)算機(jī)功能和安裝的硬件和軟件有關(guān),對(duì)所以用戶來說項(xiàng)都是公用的。
有些程序功能對(duì)用戶有影響,有些時(shí)作用于計(jì)算機(jī)而不是為個(gè)人設(shè)置的,同樣的,驅(qū)動(dòng)可能是用戶指定的,但在很多時(shí)候,它們?cè)谟?jì)算機(jī)中是通用的。
注冊(cè)表控制用戶模式的例子有:
控制面板功能;
桌面外觀和圖標(biāo);
網(wǎng)絡(luò)參數(shù);
瀏覽器功能性和特征;
那些功能中的某些是和用戶無關(guān)的,有些是針對(duì)用戶的。
計(jì)算機(jī)相關(guān)控制項(xiàng)基于計(jì)算機(jī)名,和登陸用戶無關(guān)??刂祁愋偷睦邮前惭b一個(gè)應(yīng)用程序,不管是哪個(gè)用戶,程序的可用性和存取是不變的,然而,運(yùn)行程序圖標(biāo)依賴于網(wǎng)絡(luò)上登陸的用戶。網(wǎng)絡(luò)協(xié)議可用性和優(yōu)先權(quán)基于計(jì)算機(jī),但是當(dāng)前連接和用戶信息相關(guān)。
這里是在注冊(cè)表中基與計(jì)算機(jī)控制條目的一些例子:
存取控制;
登陸確認(rèn);
文件和打印機(jī)共享;
網(wǎng)卡設(shè)置和協(xié)議;
系統(tǒng)性能和虛擬內(nèi)存設(shè)置;
沒有了注冊(cè)表,Win95和Winnt 就不太可能存在。它們實(shí)在太復(fù)雜了,以致于用過去的.ini文件無法控制,它們的擴(kuò)展能力需要幾乎無限制的安裝和使用應(yīng)用程序,注冊(cè)表實(shí)現(xiàn)了它。然而,注冊(cè)表比.ini文件更復(fù)雜,理解它如何工作,它做什么和如何用它來做是有效管理系統(tǒng)的關(guān)鍵。
在系統(tǒng)中注冊(cè)表控制所有32位應(yīng)用程序和它們的功能及多個(gè)應(yīng)用程序的交互,比如復(fù)制和粘貼,它也控制所有的硬件和驅(qū)動(dòng)程序。雖然多數(shù)可以通過控制面板來安裝和設(shè)置,理解注冊(cè)表仍是做Winnt和Win95系統(tǒng)管理基本常識(shí)。
二、注冊(cè)表的結(jié)構(gòu)
注冊(cè)表的結(jié)構(gòu)
注冊(cè)表是Windows程序員建造的一個(gè)復(fù)雜的信息數(shù)據(jù)庫,它是多層次式的。在不同系統(tǒng)上注冊(cè)表的基本結(jié)構(gòu)相同。其中的復(fù)雜數(shù)據(jù)會(huì)在不同方式上結(jié)合,從而產(chǎn)生出一個(gè)絕對(duì)唯一的注冊(cè)表。
計(jì)算機(jī)配置和缺省用戶設(shè)置的注冊(cè)表數(shù)據(jù)在Winnt中被保存在下面這五個(gè)文件中:
DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。
Win95中所有系統(tǒng)注冊(cè)信息保存在windows目錄下的SYSTEM.DAT文件里。所有硬件設(shè)置和軟件信息也保存在這個(gè)文件。它要比NT注冊(cè)表文件簡(jiǎn)單的多,因?yàn)檫@里并不需要更多的控制。Win95被設(shè)計(jì)為一個(gè)網(wǎng)絡(luò)的客戶或者單獨(dú)工作的系統(tǒng),所以用戶控制或者安全級(jí)別和NT不一樣。這使得Win95注冊(cè)表工作比NT更容易,所以這個(gè)文件也比較小。
Win95用戶的注冊(cè)數(shù)據(jù)一般被保存在windows目錄下的user.dat里。如果你在控制面板|密碼|用戶配置文件中創(chuàng)建并使用多于一個(gè)用戶的配置文件,每個(gè)用戶就會(huì)有在\WINDOWS\Profiles\username\USER.DAT下它自己的user.dat文件。在啟動(dòng)時(shí),系統(tǒng)將記錄你的登陸,從你目錄中的配置文件(USER.DAT信息)將被裝入,以用來保持你自己的桌面和圖標(biāo)。
控制鍵
在注冊(cè)表編輯器中注冊(cè)表項(xiàng)是用控制鍵來顯示或者編輯的??刂奇I使得找到和編輯信息項(xiàng)組更容易。因此,注冊(cè)表使用這些條目。下面是六個(gè)控制鍵
HKEY_LOCAL_MACHINE
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA
HKEY_USERS
HKEY_CURRENT_USER
Winnt和Win95的注冊(cè)表并不兼容。從Win95向Winnt升級(jí)需要你重新安裝32位應(yīng)用程序,重新在桌面上創(chuàng)建圖標(biāo),并重新建立用戶環(huán)境。
通過控制鍵可以比較容易編輯注冊(cè)表。雖然它們顯示和編輯好象獨(dú)立的鍵,其實(shí)HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。
HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有內(nèi)容。每次計(jì)算機(jī)啟動(dòng)時(shí),HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和編輯。
HKEY_CLASSES_ROOT其實(shí)就是HKEY_LOCAL_MACHINE\SOFTWARE\Classes,但是在HKEY_CLASSES_ROOT窗編輯相對(duì)來說顯得更容易和有條理。
HKEY_USERS保存著缺省用戶信息和當(dāng)前登陸用戶信息。當(dāng)一個(gè)域成員計(jì)算機(jī)啟動(dòng)并且一個(gè)用戶登陸,域控制器自動(dòng)將信息發(fā)送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系統(tǒng)內(nèi)存中。其他用戶的信息并不發(fā)送到系統(tǒng),而是記錄在域控制器里。
鍵和子鍵
數(shù)據(jù)被分割成多層次的鍵和子鍵,建立分層次(就象Exploer一樣)結(jié)構(gòu)更易于編輯。每個(gè)鍵有成組的信息而且根據(jù)在其中的數(shù)據(jù)類型被命名。每個(gè)鍵在它的文件夾圖標(biāo)上都有一個(gè)加號(hào)(+)標(biāo)志子鍵說明在它下面還有更多內(nèi)容的東西。當(dāng)點(diǎn)開它的時(shí)候,文件夾的加號(hào)標(biāo)志被替換成一個(gè)減號(hào)(-)標(biāo)志,然后顯示出下一級(jí)的子鍵。
所有軟件,硬件,windows工作的設(shè)置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用戶權(quán)限和共享信息也包括在這個(gè)鍵中。用戶權(quán)限,安全策略,共享信息可以通過Windows NT域用戶管理器,Explorer和Win95中控制面板來設(shè)置。
HKEY_CLASSES_ROOT
HKEY_CLASSES_ROOT包含了所有應(yīng)用程序運(yùn)行時(shí)必需的信息:
在文件和應(yīng)用程序之間所有的擴(kuò)展名和關(guān)聯(lián);
所有的驅(qū)動(dòng)程序名稱;
類的ID數(shù)字(所要存取項(xiàng)的名字用數(shù)字來代替);
DDE和OLE的信息;
用于應(yīng)用程序和文件的圖標(biāo);
HKEY_CURRENT_CONFIG.
HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中當(dāng)前硬件配置信息的映射。如果系統(tǒng)只有一個(gè)配置文件,也就是原始配置,數(shù)據(jù)將一直在同樣的地方。在控制面板|系統(tǒng)|硬件配置文件|創(chuàng)建一個(gè)額外的配置使額外配置信息放入HKEY_LOCAL_MACHINE。當(dāng)Win95中存在多個(gè)配置文件時(shí),當(dāng)每次計(jì)算機(jī)啟動(dòng)時(shí)將給出一個(gè)提示讓你選擇一個(gè)配置文件。在Winnt中,在啟動(dòng)時(shí)你可以按空格鍵來選擇上次正常啟動(dòng)時(shí)硬件配置文件。根據(jù)硬件配置文件選擇的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。
HKEY_DYN_DATA
HKEY_DYN_DATA和其他的注冊(cè)表控制鍵不同,因?yàn)閷?shí)際上它并不被寫入硬盤驅(qū)動(dòng)器中。Win95的一個(gè)優(yōu)點(diǎn)是,在系統(tǒng)啟動(dòng)時(shí)HKEY_DYN_DATA這個(gè)控制鍵儲(chǔ)存收集到的即插即用信息并配置它們。它保存在內(nèi)存中,Win95用它來控制硬件。因?yàn)槭窃趦?nèi)存中,所以它不從硬盤中讀取,每次當(dāng)你啟動(dòng)計(jì)算機(jī)時(shí),配置都有可能會(huì)不一樣。在啟動(dòng)時(shí)Win95必須計(jì)算超過1600種可能的配置。所以,如果系統(tǒng)改變既定的設(shè)置而沒有報(bào)告給Win95那么潛在的問題就可能發(fā)生。系統(tǒng)大多數(shù)時(shí)間工作良好,但是并非一直如此。
HKEY_USERS
HKEY_USERS僅包含了缺省用戶設(shè)置和登陸用戶的信息。雖然它包含了所有獨(dú)立用戶的設(shè)置,但在用戶未登陸網(wǎng)絡(luò)時(shí)用戶的設(shè)置是不可用的。這些設(shè)置告訴系統(tǒng)哪些圖標(biāo)會(huì)被使用,什么組可用,哪個(gè)開始菜單可用,哪些顏色和字體可用,和控制面板上什么選項(xiàng)和設(shè)置可用。
HKEY_CURRENT_USER
用來保存當(dāng)前用戶和缺省用戶的信息,HKEY_CURRENT_USER僅映射當(dāng)前登陸用戶的信息。
各主鍵的簡(jiǎn)單介紹
HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE是一個(gè)顯示控制系統(tǒng)和軟件的處理鍵。HKLM鍵保存著計(jì)算機(jī)的系統(tǒng)信息。它包括網(wǎng)絡(luò)和硬件上所有的軟件設(shè)置。(比如文件的位置,注冊(cè)和未注冊(cè)的狀態(tài),版本號(hào)等等)這些設(shè)置和用戶無關(guān),因?yàn)檫@些設(shè)置是針對(duì)使用這個(gè)系統(tǒng)的所有用戶的。
HKEY_LOCAL_MACHINE\AppEvents
為了以后在瘦客戶機(jī)上運(yùn)行客戶機(jī)/服務(wù)器這樣的應(yīng)用程序,在Win95/98中AppEvents鍵是空的。應(yīng)用程序?qū)嶋H上都駐留網(wǎng)絡(luò)服務(wù)器上,這些鍵會(huì)保存部分指針。
HKEY_LOCAL_MACHINE\Config
這個(gè)鍵保存著你計(jì)算機(jī)上所有不同的硬件設(shè)置(這些從控制面板的系統(tǒng)屬性中硬件配置文件中可以創(chuàng)建)。這些配置在啟動(dòng)時(shí)通常被復(fù)制到HKCC。每個(gè)配置會(huì)被用一個(gè)鍵(比如0001或者0002等等)來保存,每個(gè)都是一個(gè)獨(dú)立的配置。如果你只有一個(gè)單一的配置,那就只會(huì)有0001這個(gè)鍵
HKEY_LOCAL_MACHINE\Config\0001\Display
這個(gè)鍵表示顯示的設(shè)置,如熒屏字體,窗體大小,窗體位置和分辨率等
一個(gè)小技巧:當(dāng)設(shè)置了計(jì)算機(jī)不支持的大分辨率導(dǎo)致Windows不能啟動(dòng)時(shí)(黑屏),可以修改分辨率來解決。進(jìn)入安全模式,運(yùn)行regedit.exe,在這個(gè)鍵的Resolution鍵值中把數(shù)據(jù)值修改為640,480或者800,600這樣的低分辨率,然后重新啟動(dòng)計(jì)算機(jī)即可。
HKEY_LOCAL_MACHINE\Config\0001\System
這個(gè)鍵保存著系統(tǒng)里打印機(jī)的信息
HKEY_LOCAL_MACHINE\Config\0001\System\CurrentControlSet\Control\Print\Printers
在這個(gè)鍵下面,有一個(gè)鍵是為系統(tǒng)上每一個(gè)打印機(jī)設(shè)置的,通過控制面板添加和刪除打印機(jī)會(huì)調(diào)整這個(gè)列表
HKEY_LOCAL_MACHINE\Enum
Enum鍵包含啟動(dòng)時(shí)發(fā)現(xiàn)的硬件設(shè)備和那些既插即用卡的信息。Win95使用總線列舉在啟動(dòng)時(shí)通過不同的.ini文件來檢測(cè)硬件信息。那些在啟動(dòng)時(shí)被安裝的和被檢測(cè)到的硬件會(huì)顯示在這里。子鍵包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子鍵名表示它們各自的硬件設(shè)備信息。
HKEY_LOCAL_MACHINE\Enum\BIOS
BIOS鍵保存著系統(tǒng)中所有即插即用設(shè)備的信息。它們用一套代碼數(shù)列出,包括每一個(gè)鍵的詳細(xì)說明,舉例,*pnp0400是并行口LPT1的鍵。如果LPT1并不具備即插即用功能,它就會(huì)別列入到Enum下的Root鍵中
HKEY_LOCAL_MACHINE\Enum\Root
Root鍵包括所有非即插即用設(shè)備的信息。在這里,我們可以迅速斷定哪些設(shè)備是即插即用,那些不是。比如SCSI適配器,這個(gè)設(shè)備必須符合Win95中一個(gè)鍵名為ForcedConfig的硬件設(shè)置,這個(gè)不會(huì)改變。
HKEY_LOCAL_MACHINE\Enum\Network
win95的網(wǎng)絡(luò)功能在這個(gè)鍵有詳細(xì)說明,子鍵包括了每個(gè)已經(jīng)安裝的主要的服務(wù)和協(xié)議。
HKEY_LOCAL_MACHINE\HARDWARE
hardware子鍵包括了兩個(gè)多層的子鍵:DESCRIPTION鍵,它包含了中央處理器和一個(gè)浮點(diǎn)處理器的信息。還有一個(gè)設(shè)備映射鍵,它下面的串行鍵列出你所有的com端口。這個(gè)hardware鍵僅保存超級(jí)終端程序的信息,及數(shù)學(xué)處理器和串行口。
HKEY_LOCAL_MACHINE\Network
這個(gè)鍵僅保存網(wǎng)絡(luò)登陸信息。所有網(wǎng)絡(luò)服務(wù)細(xì)節(jié)都保存在HKEY_LOCAL_MACHINE\Enum\Network這個(gè)鍵中。這個(gè)鍵有一個(gè)子鍵,logon,包括了lmlogon(本地機(jī)器登陸?0=false 1=true)的值,logonvalidated(必須登陸驗(yàn)證),策略處理,主登陸方式(Windows登陸 ,微軟網(wǎng)絡(luò)客戶方式等),用戶名和用戶配置。
HKEY_LOCAL_MACHINE\SECURITY
security 有兩個(gè)子鍵,第一個(gè)是存?。ㄋ罱K致使一個(gè)遠(yuǎn)程鍵列出網(wǎng)絡(luò)安全資源,存取權(quán)限等)和提供(包括列出網(wǎng)絡(luò)地址和地址服務(wù)器),這個(gè)鍵被保留用在以后使用高級(jí)安全功能和NT兼容性上
HKEY_LOCAL_MACHINE\SOFTWARE
這個(gè)鍵列出了所有已安裝的32位軟件和程序的.ini文件。它包括了變化,依靠軟件安裝。那些程序的控制功能在這里的子鍵中列出。多數(shù)子鍵簡(jiǎn)單的列出了安裝軟件的版本號(hào)。
我們?cè)赲Microsoft\Windows\Current Version下發(fā)現(xiàn)了一些有意思的設(shè)置,它有如下子鍵:
1.App paths: 你曾經(jīng)安裝過的所有32位軟件的位置。
2.Applets, Compression, Controls Folder : 包括下控制面板象顯示屬性那樣屬性條的附件。
3.Detect, explorer :很多有意思的子鍵如Namespace keys of Desktop和My Computer----它們指出了回收站和撥號(hào)網(wǎng)絡(luò)的CLSID行----和提示子鍵可以讓你建立自己的提示。
4.Extensions : 一個(gè)擴(kuò)展聯(lián)系的列表,當(dāng)前相關(guān)聯(lián)的擴(kuò)展名和比特定的執(zhí)行文件更適合的目標(biāo)類型。
5.Fonts, fontsize, FS Templates :系統(tǒng)屬性條中所選擇文件系統(tǒng)模板, 服務(wù)器,桌面計(jì)算機(jī)或者筆記本電腦信息。
6.MS-DOS Emulation :包括一個(gè)應(yīng)用程序兼容子鍵 為大量過時(shí)的程序二進(jìn)制鍵所設(shè)。
7.MS-DOS Options :在dos模式下的設(shè)置,如himem.sys,cd-roms等。
8.Network :網(wǎng)絡(luò)驅(qū)動(dòng)的配置。
9.Nls, Policies :系統(tǒng)管理員認(rèn)為你不應(yīng)該去做的事。
10.ProfileList :所有可以登陸你計(jì)算機(jī)的用戶名列表。
11.在Windows啟動(dòng)時(shí)運(yùn)行的程序的神秘之處是它們并不在開始菜單的啟動(dòng)文件夾中。它們?cè)贖KEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\下的子鍵中被執(zhí)行。
Run : 程序在啟動(dòng)時(shí)運(yùn)行
RunOnce : windows初始化時(shí)程序在啟動(dòng)時(shí)只運(yùn)行一次,這個(gè)經(jīng)常用在當(dāng)安裝軟件之后需要重新啟動(dòng)系統(tǒng)的時(shí)候,所以這個(gè)鍵一般都是空的。
RunServices : 它就象Run一樣,但是包含了“服務(wù)”,它不象一般的程序它們是比較重要的或者是“系統(tǒng)”程序。但是它們不是VXDs,就象McAfee或者RegServ工作一樣。
RunServicesOnce : 它只運(yùn)行一次,但是是“系統(tǒng)自身”的安裝(大量的windows安裝參數(shù):通常鍵值包括了系統(tǒng)目錄位置,和win95更新,可選項(xiàng)安裝組件,和windows啟動(dòng)目錄的子鍵。
注意:在很多黑客木馬軟件中,常常在這里添加鍵值(一般是在Run中),這樣使得木馬軟件可以隨著windows啟動(dòng)而啟動(dòng)并且很隱秘。在這里可以查看不正常的啟動(dòng)項(xiàng)和去掉無用的運(yùn)行程序(比如我就很不喜歡超級(jí)解霸的自動(dòng)伺服器,在這里可以去掉它)。
12.SharedDLLs:共享DLL的列表,每一個(gè)都給出了在一個(gè)不可知系統(tǒng)的一個(gè)數(shù)字等級(jí)。
13.Shell Extensions:列出了“被認(rèn)可的”O(jiān)LE注冊(cè)條,和相應(yīng)的CLSID連接。
14.ShellScrap :這個(gè)包含了一個(gè)PriorityCacheformats的子鍵,它包括了一個(gè)空的有限值,它更象過去SmartDrive命令行參數(shù)的派生。
15.Time Zones : 主鍵值是你現(xiàn)在的時(shí)區(qū);子鍵定義了所以可能的時(shí)區(qū)。
16.Uninstall:這個(gè)保存了程序在添加/刪除程序?qū)υ捒虻娘@示;子鍵包含了指向反安裝程序的路徑。和安裝向?qū)嗨?......)winlogon(包含了合法登陸布告的文本句)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
這個(gè)子鍵包括設(shè)備驅(qū)動(dòng)和其他服務(wù)的描述和控制。不同于windows nt,win95只包括限制驅(qū)動(dòng)的控制設(shè)置信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
這個(gè)子鍵包括了win95控制面板中的信息。不要編輯這些信息,因?yàn)橐恍┬〕绦虻母淖冊(cè)诤芏嗟胤?,一個(gè)丟失的項(xiàng)會(huì)使這個(gè)系統(tǒng)變的不穩(wěn)定
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
這個(gè)鍵包括了所有win95的標(biāo)準(zhǔn)服務(wù)。所有被添加的服務(wù)和設(shè)備,每個(gè)標(biāo)準(zhǔn)的服務(wù)鍵包括了它的設(shè)置和辨認(rèn)設(shè)置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Arbitrators
atbitrators鍵包括了當(dāng)兩個(gè)設(shè)備共同占用同樣的設(shè)置需要解決的信息。四個(gè)子鍵包括了內(nèi)存地址,沖突,DMA,I/O端口沖突和IRQ沖突。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Class
class鍵包括了所有win95支持的設(shè)備classes控制,這些和你在添加新硬件出現(xiàn)的硬件組很類似,還包括了這些設(shè)備如何安裝的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\inetaccs
這個(gè)鍵包括了關(guān)于這個(gè)系統(tǒng)變化的ie附件的可用性,它僅在你安裝過ie2。0或者更高版本才出現(xiàn)。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSNP32
msnp32描述了客戶機(jī)如何在microsoft網(wǎng)絡(luò)中實(shí)現(xiàn)功能,它包括了認(rèn)證過程和認(rèn)證者的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNP32
nenp32鍵描述了windows客戶如何在netware網(wǎng)絡(luò)中工作功能,它包括了關(guān)于認(rèn)證過程和證明者的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess
在這個(gè)鍵里包括需要遠(yuǎn)程工作在win95系統(tǒng)上的信息,有認(rèn)證參數(shù),主機(jī)信息,和為了建立一個(gè)撥號(hào)連接工作的協(xié)議信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP
這個(gè)鍵包括了所以snmp(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)的參數(shù)。它包括了允許的管理,配置陷阱,和有效的團(tuán)體。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD
vxd鍵包括了win95中所有32位虛擬設(shè)備驅(qū)動(dòng)信息,win95自動(dòng)管理它們,所以不必要用注冊(cè)表編輯器編輯它們,所以的靜態(tài)vxds用子鍵列出。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebPost
webpost鍵包括了所有裝載的internet郵局的設(shè)置,如果你連接一個(gè)isp,并且它列出載這里,你應(yīng)該給自己選則一個(gè)服務(wù)器。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock
這個(gè)鍵列出了當(dāng)連接到internet上winnsock文件的信息,如果列出了不正確的文件,你將不會(huì)連接上internet。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinTrust
wintrust功能是檢查從Internet上下載來的文件是否有病毒,它可以確保你得到干凈安全的文件。
HKEY_CLASSES_ROOT
在注冊(cè)表中HKEY_CLASSES_ROOT是系統(tǒng)中控制所有數(shù)據(jù)文件的項(xiàng)。這個(gè)在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制鍵包括了所有文件擴(kuò)展和所有和執(zhí)行文件相關(guān)的文件。它同樣也決定了當(dāng)一個(gè)文件被雙擊時(shí)起反應(yīng)的相關(guān)應(yīng)用程序。
HKEY_CLASSES_ROOT被用作程序員在安裝軟件時(shí)方便的發(fā)送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINE\Software\Classes是相同的。程序員在運(yùn)行他們的啟動(dòng)程序時(shí)不需要擔(dān)憂實(shí)際的位置,相反的,他們只需要在HKEY_CLASSES_ROOT中加入數(shù)據(jù)就可以了。
在Windows用戶圖形界面下,每件事----每個(gè)文件,每個(gè)目錄,每個(gè)小程序,每個(gè)連接,每個(gè)驅(qū)動(dòng)---都被看做一個(gè)對(duì)象;每個(gè)對(duì)象都有確定的屬性和它聯(lián)系。HKCR包含著對(duì)象類型和它們屬性的列表。HKCR主要的功能被設(shè)置為:
一個(gè)對(duì)象類型和一個(gè)文件擴(kuò)展名關(guān)聯(lián)
一個(gè)對(duì)象類型和一種圖標(biāo)關(guān)聯(lián)
一個(gè)對(duì)象類型和一個(gè)命令行動(dòng)作的關(guān)聯(lián)
定義對(duì)象類型相關(guān)菜單選項(xiàng)和定義每一個(gè)對(duì)象類型屬性選項(xiàng)
在Win95中,相關(guān)菜單就是當(dāng)你鼠標(biāo)右擊一個(gè)對(duì)象時(shí)所彈出的菜單;屬性就是當(dāng)你選擇屬性項(xiàng)后一個(gè)展開的對(duì)話框。用簡(jiǎn)單術(shù)語來說就是在改變HKCR中的設(shè)置可以改變一個(gè)給定文件擴(kuò)展名缺省的關(guān)聯(lián)。改變一個(gè)文件類型的缺省圖標(biāo),和添加或者刪除給定對(duì)象類型的彈出菜單內(nèi)容(或者所有的對(duì)象類型)
HKCR包括了三種基本類型的子鍵
\??? 或者文件擴(kuò)展名子鍵
文件擴(kuò)展名子鍵在彈出菜單上連接文件擴(kuò)展名到對(duì)象類型和相關(guān)操作,屬性項(xiàng),和相關(guān)操作。
\object 類型子鍵
對(duì)象類型子鍵定義了一個(gè)對(duì)象類型在它缺省圖標(biāo)的項(xiàng),它的彈出菜單和屬性項(xiàng),它的相關(guān)操作和它的CLSID連接。
\CLSID 子鍵
在Windows下每件事都被用一個(gè)數(shù)字取代它的名字來對(duì)待。就象人往往是用名字來處理事情一樣。CLSID是標(biāo)識(shí)所有列出的圖標(biāo),應(yīng)用程序,目錄,文件類型等等對(duì)象的數(shù)字。是微軟為制造商分配的,每一個(gè)都必須是唯一的。制造商將CLSID放入安裝程序文件這樣就可以在安裝時(shí)更新注冊(cè)表。
注冊(cè)表是應(yīng)用程序進(jìn)行時(shí)它們需要關(guān)于做什么的指示的數(shù)據(jù)庫。比如說,假定你有一個(gè)微軟Excel 7電子數(shù)據(jù)表的Word 7文檔,當(dāng)你在Word中雙擊這個(gè)電子數(shù)據(jù)表,應(yīng)用程序菜單就會(huì)變成Excel的菜單而且電子數(shù)據(jù)表進(jìn)入編輯狀態(tài),就好象你在Excel中一樣。它是如何知道該做什么呢?每個(gè)Excel 7創(chuàng)建的文件都有Excel的CLSID連接。Word讀這個(gè)CLSID后,到注冊(cè)表中尋找指示,依賴CLSID下的數(shù)據(jù)運(yùn)行.DLL文件或者應(yīng)用程序。
CLSID子鍵為對(duì)象類型提供了OLE和DDE信息和圖標(biāo)。相關(guān)菜單,或者包含在它子鍵中的屬性項(xiàng)信息。這個(gè)可能是多數(shù)讓人看到后覺得“恐怖”的鍵。每個(gè)CLSID數(shù)必須是唯一的,實(shí)際上,為了這個(gè)目的微軟已經(jīng)出產(chǎn)了CLSID-產(chǎn)生程序--這個(gè)結(jié)果導(dǎo)致你往往得到32位16進(jìn)制的數(shù)字串,除非你是程序員,否則多數(shù)部分鍵看起來是很枯燥的。它們包括內(nèi)存管理模式,客戶機(jī)/服務(wù)器配置,和OLE處理的.dll連接。
關(guān)于子鍵的一點(diǎn)注解
1)shell:Shell鍵有個(gè)一”action“子鍵,如同”open“一樣,這里有一個(gè)command子鍵;command子鍵有一個(gè)缺省句值,它包含了運(yùn)行程序的命令行。將一個(gè)”open“子鍵放在一個(gè)對(duì)象類型的shell子鍵中會(huì)在這個(gè)對(duì)象類型的彈出菜單上多出一個(gè)”open“選項(xiàng),給這個(gè)open子鍵一個(gè)command(缺省命令行"C:\Windows \Notepad.exe %1")子鍵會(huì)使得打開這個(gè)對(duì)象類型時(shí)使用筆記本做為缺省應(yīng)用程序。其他操作選項(xiàng)包括View,Print,Copy,Virus,Scan等等。
2)shellex:Shellex鍵有一個(gè)子鍵。它們包含的每一個(gè)子鍵指向一個(gè)為對(duì)象類型執(zhí)行OLE和DDE功能的CLSID項(xiàng)(比如說快速查看,一個(gè)菜單處理子鍵下指向一個(gè)有句值的CLSID鍵列出了包含了文件瀏覽功能的.dll文件)
3)shellnew:ShellNew包含了一個(gè)“command”句,它包含了一個(gè)打開對(duì)象類型“新”文件的命令行。
4)DefaultIcon:DefaultIcon子鍵包含了一個(gè)“default”句,?/td>
每次出現(xiàn)死機(jī)、應(yīng)用程序非法操作,或者計(jì)算機(jī)啟動(dòng)時(shí)報(bào)告某個(gè)文件找不到,這個(gè)時(shí)候你是不是會(huì)特別心煩,又覺得無從下手。這些問題的出現(xiàn),一般都與Windows 的注冊(cè)表有關(guān)。 那么,現(xiàn)在我們就來學(xué)習(xí)一下Windows的注冊(cè)表,這可能是很多對(duì)Windows非常熟悉的人都感到神秘,而又特別想掌握的。了解了注冊(cè)表,我們對(duì)以后出現(xiàn)的各式各樣的問題就不會(huì)再束手無策。
熟悉Windows3.X的用戶可能對(duì)它的配置文件“INI”不會(huì)陌生,這些文件記錄了系統(tǒng)的軟、硬件的各種信息,以確保系統(tǒng)的正常運(yùn)行。在Windows95/98中,也保留了部分的“INI”文件。但是最主要的,如system.ini、program.ini、win.ini、control.ini 等文件所記錄的信息都已集成在注冊(cè)表中,這樣更加便于對(duì)Windows進(jìn)行全面的管理。
Windows95的注冊(cè)表實(shí)際上是一個(gè)很龐大的數(shù)據(jù)庫,包含了應(yīng)用程序和計(jì)算機(jī)系統(tǒng)的配置、Win95系統(tǒng)和應(yīng)用程序的初始化信息、應(yīng)用程序和文檔文件的關(guān)聯(lián)關(guān)系、硬件設(shè)備的說明、狀態(tài)和屬性以及各種狀態(tài)信息和數(shù)據(jù)。 注冊(cè)表系統(tǒng)由兩個(gè)部分組成:注冊(cè)表數(shù)據(jù)庫和注冊(cè)表編輯器。其中注冊(cè)表數(shù)據(jù)庫包括三個(gè)文件:SYSTEM.DAT和USER.DAT,還有一個(gè)是在C盤的根目錄下的“SYSTEM.1ST”,它只不過是具有WINDOWS的一個(gè)大致框架而已,在后面我們將專門講它,這里我們先分析一下SYSTEM.DAT和USER.DAT。 SYSTEM.DAT用來保存電腦的系統(tǒng)信息,如安裝的硬件和設(shè)備驅(qū)動(dòng)程序的有關(guān)信息等。這個(gè)文件在Windows目錄下。 USER.DAT用來保存每個(gè)用戶特有的信息,如桌面設(shè)置、墻紙或窗口的顏色設(shè)置等。這個(gè)文件也在Windows目錄下。 SYSTEM.DAT的自備份文件為SYSTEM.DA0,USER.DAT的自備份文件為USER.DA0。Windows95還提供了一個(gè)對(duì)注冊(cè)表編輯的工具:注冊(cè)表編輯器,用它可以對(duì)注冊(cè)表進(jìn)行各種編輯工作。
?
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說] 在windows注冊(cè)表中存儲(chǔ)二進(jìn)制數(shù)據(jù) 2023-05-31
- [醫(yī)療電子] 放射學(xué)協(xié)會(huì)與惠普將合作開發(fā)醫(yī)療3D打印注冊(cè)表 2019-10-30
- [電子說] 英創(chuàng)信息技術(shù)WinCE RAM-Based與Hive-Based注冊(cè)表介紹 2020-02-03
- [區(qū)塊鏈] 雷電服務(wù)將如何與RSB注冊(cè)表進(jìn)行交互 2019-09-09
- [電子說] Windows注冊(cè)表介紹 2019-01-15
- [處理器/DSP] WinCE的嵌入式系統(tǒng)注冊(cè)表的研究 2010-04-01
- [電腦使用小技巧] ie空白頁在注冊(cè)表的什么位置地方 2009-04-20
- [電腦使用小技巧] 如何修改注冊(cè)表增加開機(jī)啟動(dòng)項(xiàng) 2009-02-13
( 發(fā)表人:admin )