【W(wǎng)indows 95/98注冊(cè)表結(jié)構(gòu)】
--------------------------------------------------------------------------------
1.注冊(cè)表Reigstry的層次結(jié)構(gòu)
注冊(cè)表Reigstry的層次結(jié)構(gòu)類(lèi)似于硬盤(pán)中的目錄樹(shù)我們可參見(jiàn)圖1.2。
┌──────┐
│ 注冊(cè)表 │
│ Registry │
└──┬───┘
│
│ ┌────┐
├─┤ 根鍵 │
│ └─┬──┘
│ ┌────┐
├──┤ 子鍵 │
│ └─┬──┘
│ ┌────┐
├──┤ 子鍵 │
│ └─┬──┘
│ ┌───┐
├─┤鍵值項(xiàng)│
│ └───┘
圖1.2
表1.1是對(duì)圖1.2中的Registry層次結(jié)構(gòu)的解釋。
表1.1 圖1.2中的Registry層次結(jié)構(gòu)的解釋
層次
說(shuō) 明
根鍵
根鍵類(lèi)似于硬盤(pán)上的根目錄。 Registry有四個(gè)預(yù)定義的根鍵:
1、HKEY_LOCAL_MACHINE
2、HKEY_USERS
3、HKEY_CURRENT_USER
4、HKEY_CLASSES_ROOT
鍵與子鍵
鍵和子鍵類(lèi)似于文件管理器中看到的目錄結(jié)構(gòu)在鍵下面是子鍵就象目錄可以包含子目錄一樣
鍵值項(xiàng)
鍵值項(xiàng)類(lèi)似硬盤(pán)上樹(shù)型目錄的末端文件,鍵和子鍵可以包括一個(gè)或多個(gè)鍵值項(xiàng)。鍵值項(xiàng)由鍵值名、數(shù)據(jù)類(lèi)型和鍵值三部分組成,其格式為:“鍵值名:數(shù)據(jù)類(lèi)型:鍵值”。
鍵值類(lèi)型
Registry中有如下三種鍵值類(lèi)型:
DWORD值:只允許一個(gè)鍵值并且必須為1-8個(gè)16進(jìn)制數(shù)據(jù)(即雙字)。
字符串值:只允許一個(gè)鍵值并且作為要存儲(chǔ)的字符串來(lái)解釋。
二進(jìn)制值:只允許一個(gè)值是16進(jìn)制數(shù)字串每對(duì)作為一個(gè)字節(jié)值解釋。
表1.1
六大根鍵的作用
在注冊(cè)表中,所有的數(shù)據(jù)都是通過(guò)一種樹(shù)狀結(jié)構(gòu)以鍵和子鍵的方式組織起來(lái),十分類(lèi)似于目錄結(jié)構(gòu)。每個(gè)鍵都包含了一組特定的信息,每個(gè)鍵的鍵名都是和它所包含的信息相關(guān)的。如果這個(gè)鍵包含子鍵,則在注冊(cè)表編輯器窗口中代表這個(gè)鍵的文件夾的左邊將有“+”符號(hào),以表示在這個(gè)文件夾中有更多的內(nèi)容。如果這個(gè)文件夾被用戶(hù)打開(kāi)了,那么這個(gè)“+”就會(huì)變成“-”。
1、HKEY_USERS
該根鍵保存了存放在本地計(jì)算機(jī)口令列表中的用戶(hù)標(biāo)識(shí)和密碼列表。每個(gè)用戶(hù)的預(yù)配置信息都存儲(chǔ)在 HKEY_USERS 根鍵中。 HKEY_USERS 是遠(yuǎn)程計(jì)算機(jī)中訪(fǎng)問(wèn)的根鍵之一。
2、HKEY_CURRENT_USER 該根鍵包含本地工作站中存放的當(dāng)前登錄的用戶(hù)信息 ,包括用戶(hù)登錄用戶(hù)名和暫存的密碼 ( 注:此密碼在輸入時(shí)是隱藏的 ) 。用戶(hù)登錄 Windows 98 時(shí),其信息從 HKEY_USERS 中相應(yīng)的項(xiàng)拷貝到 HKEY_CURRENT_USER 中。
3、HKEY_CURRENT_CONFIG 該根鍵存放著定義當(dāng)前用戶(hù)桌面配置 ( 如顯示器等 ) 的數(shù)據(jù) , 最后使用的文檔列表( MRU )和其他有關(guān)當(dāng)前用戶(hù)的 Windows 98 中文版的安裝的信息。
4、HKEY_CLASSES_ROOT 包含注冊(cè)的所有ole信息和文檔類(lèi)型,是從 hkey_local_machine/software/classes復(fù)制的。根據(jù)在 Windows 98 中文版中安裝的應(yīng)用程序的擴(kuò)展名 , 該根鍵指明其文件類(lèi)型的名稱(chēng) 。
5、HKEY_LOCAL_MACHINE 該根鍵存放本地計(jì)算機(jī)硬件數(shù)據(jù) , 此根鍵下的子關(guān)鍵字包括在 SYSTEM。DAT 中 ,用來(lái)提供 HKEY_LOCAL_MACHINE 所需的信息 ,或者在遠(yuǎn)程計(jì)算機(jī)中可訪(fǎng)問(wèn)的一組鍵中。該根鍵中的許多子鍵與 System。ini 文件中設(shè)置項(xiàng)類(lèi)似。
6、KEY_DYN_DATA 該根鍵存放了系統(tǒng)在運(yùn)行時(shí)動(dòng)態(tài)數(shù)據(jù),此數(shù)據(jù)在每次顯示時(shí)都是變化的,因此,此根鍵下的信息沒(méi)有放在注冊(cè)表中
2.Registry與INI文件之間的關(guān)系
Registry與Windows 98中的INI文件有許多相似之處。鍵或子鍵類(lèi)似于INI文件中的小節(jié)一個(gè)鍵值項(xiàng)對(duì)應(yīng)于INI文件中小節(jié)里的一條設(shè)置項(xiàng)。然而Registry可以包括子鍵而INI文件不支持小節(jié)的嵌套。
Registry中的鍵值項(xiàng)還可以包含可執(zhí)行代碼而在INI文件中設(shè)置項(xiàng)只是簡(jiǎn)單的字串。
在同一臺(tái)計(jì)算機(jī)上有多個(gè)用戶(hù)Registry可以存儲(chǔ)每個(gè)用戶(hù)的特性而INI文件中卻不可能。
如果您在Windows 3.x上升級(jí)為Windows 98,則安裝程序會(huì)從System.ini和Win.ini文件文件中選擇一些延續(xù)信息放入到注冊(cè)表中。不過(guò),為了與以前的Windows版本上的老式16位應(yīng)用程序保持兼容,INI文件中的有些設(shè)置項(xiàng)不能遷移到Windows 98的注冊(cè)表中。有關(guān)Win.ini、System.ini文件的結(jié)構(gòu)與設(shè)置項(xiàng)信息詳見(jiàn)附錄A。
1.注冊(cè)表中Win.ini信息
表1.2列出了Windows 98在升級(jí)安裝過(guò)程中,從Win.ini文件中移出的部分設(shè)置項(xiàng),以及在注冊(cè)表中的位置。所有的子鍵都處于注冊(cè)表的HKEY_CURRENT_USER根鍵中。
表1.2 注冊(cè)表中Win.ini信息
小節(jié)
設(shè)置項(xiàng)
HKEY_CURRENT_USER中的子鍵分支
[desktop]
GridGranularity
Control Panel/desktop
Pattern
Control Panel/desktop
TileWallPaper
Control Panel/desktop
[windows]
ScreenSaveActive
Control Panel/desktop
ScreenSaveTimeOut
Control Panel/desktop
[Sounds]
Sound Event Name
AppEvents/Schemes/Apps/.Default/Sound Event Name/.current
[Hearts]
Name
Software/Microsoft/Windows/CurrentVersion/Applets/Hearts
2.注冊(cè)表中的System.ini信息
表1.3列出了Windows 98在升級(jí)安裝過(guò)程中從System.ini文件中移出的設(shè)置項(xiàng),以及在注冊(cè)表中的位置,這些子鍵都處于注冊(cè)表的HKEY_LOCAL_MACHINE根鍵中。根據(jù)機(jī)器的網(wǎng)絡(luò)配置,有些系統(tǒng)可能不會(huì)出現(xiàn)某些子鍵。
表1.3 注冊(cè)表中的System.ini信息
小節(jié)
設(shè)置項(xiàng)
HKEY_LOCAL_MACHINE內(nèi)的子鍵分支
[Network]
Comment
System/CurrentControlSet/Services/VxD/VNETUP
ComputerName
System/CurrentControlSet/Control/ComputerName/ComputerName
EnableSharing
沒(méi)有子鍵入口
LMAnnounce
System/CurrentControlSet/Services/VxD/VNETUP
LogonDomain
沒(méi)有子鍵入口
Logon Validated
沒(méi)有子鍵入口
MaintainServerList
System/CurrentControlSet/Control/ComputerName/ComputerName
Reconnect
Reshare
沒(méi)有子鍵入口
沒(méi)有子鍵入口
Username
Network/Logon
Workgroup
System/CurrentControlSet/Control/ComputerName/ComputerName
[386Enh]
Network
沒(méi)有子鍵入口
Transport
Software/Microsoft/Windows/CurrentVersion/Network/Real Mode Net
1.2 注冊(cè)表Registry的組成
我們知道在Windows 3.x中提供了一個(gè)注冊(cè)數(shù)據(jù)庫(kù)Reg.dat它是一個(gè)一般二進(jìn)制文件它可用Regedit.exe程序來(lái)維護(hù)。Reg.dat是一個(gè)十分軟弱的數(shù)據(jù)文件在Windows 3.x中增加或刪除O LE應(yīng)用程序時(shí)經(jīng)常受到不同程度的破壞。
Windows 98改變了Windows 3.x的做法采用了一種強(qiáng)大的注冊(cè)表Registry它要比Reg.dat更為可靠。
3.注冊(cè)表的文件組成
注冊(cè)表Registry由五個(gè)文件組成的。介紹如下。
1.系統(tǒng)配置注冊(cè)表文件System.dat
在Windows 98的系統(tǒng)目錄中有一個(gè)隱含、系統(tǒng)、只讀文件System.dat它是Windows 98注冊(cè)表的一部分該文件具有如下作用:
● 描述單一的PC配置。
● 描述安裝在一單獨(dú)的PC上的消息。
● 安裝即插即用類(lèi)型的設(shè)備硬件配置如設(shè)備的I/O地址、IRQ級(jí)和DM A通道等。
該文件的作用有點(diǎn)類(lèi)似Windows 3.x中的System.ini文件。
該文件在Windows 98的網(wǎng)絡(luò)運(yùn)行狀態(tài)時(shí)保存在本地的工作站或本地PC機(jī)中。
在Windows 98安裝期間Setup將檢查您的計(jì)算機(jī)上已安裝的硬件然后在System.dat中建立適當(dāng)?shù)呐渲庙?xiàng)。若從現(xiàn)有的Windows 3.x中安裝Windows 98則Setup將把現(xiàn)有的System.ini、Reg.dat文件中的部分設(shè)置項(xiàng)拷貝到System.dat中,詳見(jiàn)1.1.3節(jié)。
在您使用“控制面板”的“系統(tǒng)”圖標(biāo)查看硬件配置時(shí)其窗口中所顯示的選項(xiàng)都是從System.dat中讀取的如圖1.3所示。
圖1.3
2.系統(tǒng)配置注冊(cè)表備份文件System.da0
Windows 98的注冊(cè)表的一個(gè)主要特點(diǎn)就是可靠性強(qiáng)不易損壞。這個(gè)特點(diǎn)靠的就是注冊(cè)表有備份文件。
系統(tǒng)配置注冊(cè)表System.dat的備份文件為System.da0該文件在System.dat文件遭到意外破壞時(shí)將由系統(tǒng)自動(dòng)拷貝為System.dat。
3.用戶(hù)平臺(tái)配置注冊(cè)表文件User.dat
在Windows 98的系統(tǒng)目錄中有一個(gè)隱含、系統(tǒng)、只讀文件User.dat它也是Windows 98的注冊(cè)表的一部分該文件具有如下作用:
● 它定義用戶(hù)優(yōu)先權(quán)如用戶(hù)平臺(tái)配置等。
● 特定于某一個(gè)用戶(hù)的應(yīng)用程序的安裝信息。
該文件的作為類(lèi)似于Windows 3.xWin.ini文件。
當(dāng)您在Windows 98中使用網(wǎng)絡(luò)時(shí)User.dat必須放在網(wǎng)絡(luò)服務(wù)器上。 在您第一次輸入用戶(hù)標(biāo)識(shí)和密碼時(shí)安裝程序?qū)堰@些信息存儲(chǔ)在User.dat中。您的Windows 98的系列號(hào)也存儲(chǔ)在USER.DAT中。
如果用戶(hù)在“控制面板”的“密碼”圖標(biāo)中選擇了“用戶(hù)可自定義首選項(xiàng)及桌面設(shè)置登錄時(shí),Windows自動(dòng)啟用個(gè)人設(shè)置”這個(gè)選項(xiàng)后(參見(jiàn)圖1.4所示),系統(tǒng)就會(huì)為每個(gè)用戶(hù)創(chuàng)建他自己的User.Dat,并且把它保存為C:/Windows/Profiles/用戶(hù)名/User.dat。用戶(hù)每次登錄后,他自給的User.dat會(huì)被調(diào)入到系統(tǒng)中。
圖1.4
4.用戶(hù)平臺(tái)配置注冊(cè)表備份文件User.da0
用戶(hù)平臺(tái)配置注冊(cè)表文件User.dat也有一個(gè)備份文件User.da0。當(dāng)User.dat遭到意外破壞時(shí)將由系統(tǒng)將User.da0拷貝為User.dat從而使User.dat得到了恢復(fù)。
5.網(wǎng)絡(luò)管理注冊(cè)表文件Config.pol
若您在Windows 98安裝了“系統(tǒng)策略編輯器”后,則用戶(hù)可以使用Config.pol文件中的限制來(lái)決定系統(tǒng)如修改注冊(cè)表,也就是說(shuō),系統(tǒng)根據(jù)Config.pol中的設(shè)置對(duì)網(wǎng)絡(luò)用戶(hù)的操作作一些限制,這種限制在Windows 98被稱(chēng)為“策略”。Config.pol文件也是一個(gè)隱含、系統(tǒng)、只讀文件,它主要用于Windows 98的網(wǎng)絡(luò)用戶(hù)的管理方面的策略。
6.網(wǎng)絡(luò)管理注冊(cè)表備份文件Config.po0
同System.dat、User.dat有備份文件一樣Config.pol也有一個(gè)備份文件Config.po0它是一個(gè)隱含、系統(tǒng)、只讀文件。它存放在網(wǎng)絡(luò)服務(wù)器中。
1.2.2 注冊(cè)表中的根鍵
使用注冊(cè)表編輯器可以觀(guān)察注冊(cè)表中的根鍵,如圖1.5所示。
圖1.5
注意:在“運(yùn)行”對(duì)話(huà)框中輸入RegEdit,然后單擊“確定”按鈕,則可以運(yùn)行注冊(cè)表編輯器,詳見(jiàn)第2章介紹。
圖1.5顯示了Windows 98中文版的注冊(cè)表Registry?(System.dat、User.dat、Config.pol)的數(shù)據(jù)組織結(jié)構(gòu)。
圖1.5左窗格顯示的是注冊(cè)表的根鍵,這樣的根鍵共六個(gè)。?這些根鍵都是大寫(xiě)的并以HKEY_為前綴?這種命令約定是以Win32 API的Registry函數(shù)的關(guān)鍵字的符號(hào)變量為基礎(chǔ)的。 雖然在注冊(cè)表中,六個(gè)根鍵看上去處于一種并列的地位,彼此毫無(wú)關(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)啟動(dòng)后,系統(tǒng)就映射出HKEY_CURRENT_USER中的信息,使得用戶(hù)可以查看和編輯其中的信息。
實(shí)際上,HKEY_LOCAL_MACHINE/SOFTWARE/Classes就是HKEY_CLASSES_ROOT,為了用戶(hù)便于查看和編輯,系統(tǒng)專(zhuān)門(mén)把它作為一個(gè)根鍵。同理,HKEY_CURRENT_CONFIG/SYSTEM/Current Control就是HKEY_LOCAL_MACHINE/SYSTEM/Current Control。
HKEY_USERS中保存了默認(rèn)用戶(hù)和當(dāng)前登錄用戶(hù)的用戶(hù)信息。HKEY_CURRENT_USER中保存了當(dāng)前登錄用戶(hù)的用戶(hù)信息。
HKEY_DYN_DATA保存了系統(tǒng)運(yùn)行時(shí)的動(dòng)態(tài)數(shù)據(jù),它反映出系統(tǒng)的當(dāng)前狀態(tài),在每次運(yùn)行時(shí)都是不一樣的,即便是在同一臺(tái)機(jī)器上。
根據(jù)上面的分析,注冊(cè)表中的信息可以分為HKEY_LOCAL_MACHINE和HKEY_USERS兩大類(lèi),這兩大類(lèi)的詳細(xì)介紹參見(jiàn)第3章。
1.2.3 注冊(cè)表中的鍵與子鍵
在注冊(cè)表中(參見(jiàn)圖1.5所示),所有的數(shù)據(jù)都是通過(guò)一種樹(shù)狀結(jié)構(gòu)以鍵和子鍵的方式組織起來(lái),十分類(lèi)似于目錄結(jié)構(gòu)。每個(gè)鍵都包含了一組特定的信息,每個(gè)鍵的鍵名都是 和它所的信息相關(guān)的。如果這個(gè)鍵包含子鍵,則在注冊(cè)表編輯器窗口中代表這個(gè)鍵的文件夾的左邊將有“+”符號(hào),以表示在這個(gè)文件夾中有更多的內(nèi)容。如果這個(gè)文件夾被用戶(hù)打開(kāi)了,那么這個(gè)“+”就會(huì)變成“-”,如圖1.6所示。
圖1.6
1.HKEY_USERS
該根鍵保存了存放在本地計(jì)算機(jī)口令列表中的用戶(hù)標(biāo)識(shí)和密碼列表。?每個(gè)用戶(hù)的預(yù)配置信息都存儲(chǔ)在HKEY_USERS根鍵中。?HKEY_USERS是遠(yuǎn)程計(jì)算機(jī)中訪(fǎng)問(wèn)的根鍵之一。圖1.7為HKEY_USER子關(guān)鍵字連接情況。
圖1.7
2.HKEY_CURRENT_USER
該根鍵包含本地工作站中存放的當(dāng)前登錄的用戶(hù)信息包括用戶(hù)登錄用戶(hù)名和暫存的密碼(注:此密碼在輸入時(shí)是隱藏的)。用戶(hù)登錄Windows 98時(shí)其信息從HKEY_USERS中相應(yīng)的項(xiàng)拷貝到HKEY_CURRENT_USER中。圖1.8為HKEY_CURRENT_USER根鍵下各個(gè)鍵之間連接的情況。
圖1.8
3.HKEY_CURRENT_CONFIG
該根鍵存放著定義當(dāng)前用戶(hù)桌面配置(如顯示器等)的數(shù)據(jù)以及最后使用的文檔列表(MRU)和其他有關(guān)當(dāng)前用戶(hù)的Windows 98中文版的安裝的信息.
圖1.9為HKEY_CURRENT_CONFIG子關(guān)鍵字之間的連接情況。
圖1.9
4.HKEY_CLASSES_ROOT
根據(jù)在Windows 98中文版中安裝的應(yīng)用程序的擴(kuò)展名該根鍵指明其文件類(lèi)型的名稱(chēng)。
在第一次安裝Windows 98中文版時(shí)RTF(Rich Text Format)文件與寫(xiě)字板(WordPad)?聯(lián)系起來(lái)但在以后安裝了中文Word 6.0后?雙擊一個(gè)RTF文件時(shí)將自動(dòng)激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT???將替代WIN.INI文件中的[Extensions]?小節(jié)中的設(shè)置項(xiàng)它把應(yīng)用程序與文件擴(kuò)展名聯(lián)系起來(lái)它也替代了Windows 3.x中的Reg.dat文件中的相似的設(shè)置項(xiàng)。?圖1.10顯示了HKEY_CLASSES_ROOT根鍵中包括的文件擴(kuò)展名的情況。
圖1.10
5.HKEY_LOCAL_MACHINE
該根鍵存放本地計(jì)算機(jī)硬件數(shù)據(jù)此根鍵下的子關(guān)鍵字包括在SYSTEM.DAT中用來(lái)提供HKEY_LOCAL_MACHINE所需的信息或者在遠(yuǎn)程計(jì)算機(jī)中可訪(fǎng)問(wèn)的一組鍵中。
該根鍵中的許多子鍵與System.ini文件中設(shè)置項(xiàng)類(lèi)似。
圖1.11顯示了HKEY_LOCAL_MACHINE根鍵下的各個(gè)子鍵之間的情況。
圖1.11
6.HKEY_DYN_DATA
該根鍵存放了系統(tǒng)在運(yùn)行時(shí)動(dòng)態(tài)數(shù)據(jù),此數(shù)據(jù)在每次顯示時(shí)都是變化的,因此,此根鍵下的信息沒(méi)有放在注冊(cè)表中。圖1.12顯示了HKEY_DYN_DATA根鍵下的各個(gè)子鍵的情況。
圖1.12
1.2.4 注冊(cè)表中的鍵值項(xiàng)數(shù)據(jù)
注冊(cè)表通過(guò)鍵和子鍵來(lái)管理各種信息。但是,注冊(cè)表中的所有信息是以各種形式的鍵值項(xiàng)數(shù)據(jù)保存下來(lái)。在注冊(cè)表編輯器右窗格中,保存的都是鍵值項(xiàng)數(shù)據(jù)。這些鍵值項(xiàng)數(shù)據(jù)可分為如下三種類(lèi)型:
1.字符串值
在注冊(cè)表中,字符串值一般用來(lái)表示文件的描述、硬件的標(biāo)識(shí)等。通常它由字母和數(shù)字組成,最大長(zhǎng)度不能超過(guò)255個(gè)字符。在圖1.13所示中,“D:/pwin98/trident”即為鍵值名“a”的鍵值,它是一種字符串值類(lèi)型的。同樣地,“ba”也為鍵值名“MRUList”的鍵值。通過(guò)鍵值名、鍵值就可以組成一種鍵值項(xiàng)數(shù)據(jù),這就相當(dāng)于Win.ini、Ssytem.ini文件中小節(jié)下的設(shè)置行。其實(shí),使用注冊(cè)表編輯器將這些鍵值項(xiàng)數(shù)據(jù)導(dǎo)出后,其形式與INI文件中的設(shè)置行完全相同了。詳見(jiàn)第3章。
圖1.13
2.二進(jìn)制值
在注冊(cè)表中,二進(jìn)制值是沒(méi)有長(zhǎng)度限制的,可以是任意個(gè)字節(jié)長(zhǎng)。在注冊(cè)表編輯器中,二進(jìn)制以十六進(jìn)制的方式顯示出來(lái),如圖1.14所示。
圖1.14
在圖1.14中,鍵值名Wizard的鍵值“80 00 00 00”就是一個(gè)二進(jìn)制
注意:在如圖1.15所示的“編輯二進(jìn)制值”對(duì)話(huà)框時(shí),在編輯框的左邊輸入十六進(jìn)制數(shù)時(shí),其右邊將會(huì)顯示相應(yīng)的ASCII碼。
圖1.15
3.DWORD值
DWORD值是一個(gè)32位(4個(gè)字節(jié),即雙字)長(zhǎng)度的數(shù)值。在注冊(cè)表編輯器中,您將
圖1.16
發(fā)現(xiàn)系統(tǒng)會(huì)以十六進(jìn)制的方式顯示DWORD值,如圖1.16所示。
注意:在編輯DWORD數(shù)值時(shí),可以選擇用十進(jìn)制還是16進(jìn)制的方式進(jìn)行輸入,如圖1.17所示。
圖1.17
1.3 注冊(cè)表的雙重入口
在注冊(cè)表中經(jīng)常出現(xiàn)雙重入口(分支),例如,有一些在HKEY_CLASSES_ROOT中的鍵同樣會(huì)在HKEY_LOCAL_MACHINE中出現(xiàn),如圖1.18所示。
圖1.18
如果這些相同的分支出現(xiàn)在兩個(gè)不同的根鍵中,那么,哪個(gè)根鍵有效呢?
注冊(cè)表的子鍵都有嚴(yán)格的組織。如果相同的信息出現(xiàn)在超過(guò)一個(gè)的子鍵中,如果您只修改了一個(gè)子鍵,那么該修改是否作用于系統(tǒng)依賴(lài)于該子鍵的等級(jí)。一般來(lái)說(shuō),系統(tǒng)信息優(yōu)先于用戶(hù)等級(jí)。例如,一個(gè)設(shè)置項(xiàng)同時(shí)出現(xiàn)在HKEY_LOCAL_MACHINE和HKEY_USER子鍵中,通常由HKEY_LOCAL_MACHINE中的數(shù)據(jù)起作用。要注意的是,這種情況只發(fā)生在您直接編輯注冊(cè)表時(shí)。如果您從“控制面板”中更改系統(tǒng)配置,則所有出現(xiàn)該設(shè)置項(xiàng)的地方均會(huì)發(fā)生相應(yīng)的改變。
例如,您可以通過(guò)注冊(cè)表設(shè)置文件關(guān)聯(lián),即將一個(gè)帶有特殊后綴的文件連接到一個(gè)應(yīng)用程序上。在注冊(cè)表中,有四個(gè)子鍵都保存了文件管理的數(shù)據(jù),它們分別是:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USER。在缺省情況下,所有后綴為1ST的文件都被連接到記事本程序(Notepad)上。如果您在Windows資源管理器雙擊該后綴的文件,則系統(tǒng)將激活記事本,同時(shí)將此文件調(diào)入編輯。但是您也可此文件關(guān)聯(lián)從Notepad改為L(zhǎng)otus Ami Pro(這也是一個(gè)字處理程序),則您在雙擊后綴為1ST的文件時(shí),將激活Lotus Ami Pro程序,同時(shí)編輯此文件。但是,如果您在直接編輯注冊(cè)表時(shí)只修改一個(gè)子鍵,則會(huì)出現(xiàn)如下四種情況:
● 如果只修改HKEY_CLASSES_ROOT中的1ST項(xiàng),則在雙擊1ST后綴的文件時(shí)將激活Lotus Ami Pro。
● 如果只修改HKEY_CURRENT_USER中的1ST項(xiàng),則在雙擊1ST后綴的文件時(shí)將激活Notepad。
● 如果只修改HKEY_LOCAL_MACHINE中的1ST項(xiàng),則在雙擊1ST后綴的文件時(shí)將激活Lotus Ami Pro。
● 如果只修改HKEY_USER中的1ST項(xiàng),則在雙擊1ST后綴的文件時(shí)將激活Notepad。
在上面的例子中,HKEY_CLASSES_ROOT子鍵和HKEY_LOCAL_MACHINE子鍵看起來(lái)在控制文件關(guān)聯(lián)上相互獨(dú)立,這似乎有些自相矛盾,但是,要知道HKEY_CLASSES_ROOT根鍵就是HKEY_LOCAL_MACHINE/Software/Classes,因此,在改變HKEY_CLASSES_ROOT根鍵就是改變HKEY_LOCAL_MACHINE。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注