註冊表歷史記錄
在DOS時代,我們所有的硬件設備在系統啟動時都是通過啟動盤下的Confis.sys和Autoexec.bat配置文件加載驅動程序並使其工作的(這種配置模式在現在的Windows中有部分保留),但在後來的Windows 3.x中,所有關於操作系統和應用程序的配置信息都是通過Win.ini、System.ini、Control.ini和program.ini等ini文件保存的,然而出於安全考慮(任何文本編輯工具都可以修改INI文件, 並且ini文件可讀性很強)以及越來越多的相關信息需要存儲,這使得微軟從Windows 95開始將註冊表的概念引入操作系統。
註冊表是對系統的硬件設施和軟件配置信息進行統壹集中管理的數據庫,其中存儲了各種參數,這些參數直接控制windows的啟動、硬件驅動程序的加載和壹些Windows應用程序的運行,並記錄了與機器相關的硬件和軟件的配置信息、聯網計算機的整個系統的設置和各種權限、文件擴展名與應用程序的關聯、硬件組件的描述、狀態和屬性、性能記錄和其他底層系統狀態信息等信息。
當然註冊表的數據庫是其他編輯軟件打不開的。它存儲在兩個隱藏文件system.dat和user.dat中。在Windows中,您只能通過“運行”命令行regedit來編輯它。當然,妳也可以創造。用編輯軟件來修改它。
註冊表的結構
當然註冊表的信息也不會亂排。雖然存儲在System.dat和User.dat兩個二進制文件中,但其內部組織結構是類似於文件夾管理的樹狀層次結構。當然,它們沒有主目錄或子目錄的標題,但是它們有自己的名稱:主鍵、子鍵、鍵名和鍵數據(如圖1所示)。
Windows註冊表(相當於主目錄)的主鍵主要包括六個主鍵:HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_USER、HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG和HKEY_DYN_DATA。這六個主鍵在所有Windows操作系統中都不方便修復,其中HKEY_LOCAL_MACHINE和HKEY_USERS是最重要的主鍵,是註冊表的核心。HKEY_LOCAL_MACHINE對應System.dat文件,HKEY_USERS對應User.dat文件。
註冊表使用的詳細說明
因為Windows註冊是由六個主鍵組成的,所以我們也按照六個主鍵的結構來詳細解釋註冊表。
HKEY _班級_根
打開這個主鍵,妳會發現許多名為。c,。doc,。dll等。其實很簡單。
HKEY _類_根是HKEY _本地_機器\軟件\類下的壹個快捷方式。也可以在HKEY _本地_機器\軟件\類下操作。它的主鍵中記錄的是系統中各種文件與它們的應用程序之間的關系,因為它包含了成千上萬個與程序和文件相關聯的鍵和值以及ActiveX類的存儲,這使它成為註冊表中最大的分支。
提示:相信妳對Windows中的聯想很熟悉。當我們在資源管理器中雙擊系統中的壹個文件時,系統會自動打開壹個程序並打開它。比如雙擊壹個Word文件會自動調用微軟Word,雙擊BMP會自動調用壹個繪圖程序等等。這是聯想。我們不知道的是,當我們雙擊壹個文件時,Windows會先在主鍵下尋找這類文件的擴展名,然後根據擴展名子項中的文件類型信息尋找這類文件對應的應用程序信息,最後使用對應的程序打開我們雙擊的文件。例如,我們可以單擊命令開始→程序→運行,然後輸入“regedit”啟動系統註冊表,並單擊HKEY _類_根主鍵找到”。bmp”子項(如圖2所示),我們會發現其記錄的默認值是“Microsoft Word Document E”。而它的shell-open-command子鍵記錄了命令子鍵的默認值“C:\ Windows \ System32 \ mspaint . exe % 1”,也就是說它調用程序C:\ Windows \ System32 \ mspaint.exe打開我們雙擊的BMP文件。
key類_根主鍵下的子項非常簡單,主要包括兩種類型,壹種是文件擴展名子項,另壹種是文件類型子項。文件擴展名子項主要包括系統預設的文件擴展名和應用程序存儲的擴展名。文件擴展名子項都以“.”開頭後跟文件擴展名,可以包含任意數量的字符。子項“*”和其他不以“.”開頭的子項是類存儲子項,包括文件類型、類標識符和程序標識符。文件擴展名子項表示相關的文件類型和這類文件的打開模式。
HKEY _類_根主鍵中文件類型子項下公共子項的含義:
Defaulticon:這類文件的默認顯示圖標,也就是我們在文件夾中看到的圖標。
Shell:程序外殼子項
Shell\open\command:打開這類文件的Shell程序。默認值是相應程序的路徑、名稱和參數。
Shell\edit\command:編輯這類文件的Shell程序。默認值是相應程序的路徑、名稱和參數。
Shell\print\command:打印這種文件的Shell程序。默認值是相應程序的路徑、名稱和參數。
HKEY _類_根主鍵下還有壹個重要的子項“CLSID”,記錄所有註冊的系統類標識符。
2、HKEY用戶
Windows中所有用戶的設置信息都記錄在這個主鍵下,其值會根據計算機是否激活用戶配置文件而變化。如果用戶配置文件沒有被激活,您可以看到壹個名為。默認,包括與所有用戶相關的各種設置,與用戶合作。\Windows中的DAT文件。如果激活了用戶配置文件,並且正確執行了登錄,那麽還有壹個用戶名的子項,它是用戶登錄的名稱。用戶名的相關鍵值放在HKEY當前用戶中。
3、HKEY _當前用戶
當前登錄用戶的所有配置信息都保存在HKEY當前用戶主鍵中,該主鍵也會自動更改。根據當前登錄的用戶,它實際上是HKEY _用戶\用戶名鍵下的壹個快捷方式。當然,如果用戶配置沒有在我們的機器上激活,它是HKEY _用戶\ .默認的快捷方式。(如圖3所示)
如圖3所示,該主鍵下有8個子鍵,它們的功能如下:
(1)事件
該子項存儲系統事件的聲音設置。下面還有兩個子鍵“EventLabels”和“Schemes”。子項EventLabels-存儲每個事件的標識和名稱,而子項Schems與每個事件和聲音相關聯。下面有兩個子鍵“Apps”和“Name”。子項“Apps”存儲系統事件的聲音設置。壹般有兩個子鍵”。當前“和”。Default ",分別指示當前聲音文件和默認聲音文件的位置。“Name”子項存儲配音方案的名稱,我們也可以雙擊控制面板中的“聲音”項,在出現的聲音屬性窗口的方案選項中查看。
(2)控制面板
該子項存儲系統桌面、光標、圖標、鍵盤和鼠標的設置信息。通常,它下面的子項是:
“輔助功能”:妳壹眼就能看出來,只有安裝了Windows系統助手選項後才會出現。它包括高對比度顯示設置子鍵、鍵盤響應子鍵、鼠標鍵設置子鍵、串行鍵設置子鍵、聲音顯示設置子鍵、聲音保護設置子鍵、聲音哨兵、粘滯鍵設置子鍵“StickyKeys”、自動重置輔助選項子鍵“TimeOut”和切換鍵設置子鍵“ToggleKeys”都是輔助選項中的設置信息。
“Appearance”:該子項存儲系統中可用的各種顏色設置方案,我們可以在顯示屬性窗口的“Appearance”選項卡中看到相應的方案。
Cursors:該子項存儲系統中使用的光標模式,我們可以在鼠標屬性窗口的指針頁面的方案選項中看到該模式。
“Desktop”:該子項存儲系統桌面和窗口的設置信息,如窗口邊界、標題、圖標、菜單、滾動條等的設置。它下面有很多關鍵值,看了它的英文名妳就知道了。此外,Desktop子項下還有兩個子項“ResourceLocale”和“WindowMetrics”,“ResourceLocal”子項存儲桌面數據顯示格式的時區值;“WindowsMetrics”存儲系統窗口的設置,看起來並不難。我就不細說了。
“輸入法”:該子項存儲輸入法切換鍵的相關設置,鍵值“顯示狀態”決定是否顯示輸入法狀態。
“International”:該子項存儲有關區域設置的信息。
“Keyboard”:該子項存儲鍵盤擊鍵的重復延遲和重復率。
“PowerCfg”:該子項存儲與電源管理相關的設置。
(3)身份
該子項存儲與Outlook Express相關的設置信息。
(4)安裝位置sMRU
包括安裝軟件或硬件設備驅動程序的路徑等。每個鍵值代表壹條路徑,其鍵名是小寫字母,如“A”和“D”,鍵值“MRUList”代表壹條路徑的順序,如“daebc”。
(5)鍵盤布局
該子項存儲Windows中的鍵盤布局設置。
(6)網絡
該子項存儲當前用戶的網絡設置信息。
(7)遠程訪問
該子項存儲當前用戶的撥號網絡配置。
(8)軟件
該子項存儲系統中各種軟件的配置信息。它是HKEY當前用戶主鍵下最重要的子項,也是用戶的主要部分。DAT文件。這個主鍵下的子項在不同的機器上會有很大的差異,但是無論差異有多大,這個主鍵下的子項結構基本相同。
4、HKEY _本地_機器
HKEY_LOCAL_MACHINE上的註冊表的核心主鍵記錄了計算機上所有硬件和軟件的配置。它由八個部分組成,每個部分都有許多對應的子項。
(1)配置密鑰
Windows配置文件存儲在這個鍵值中,它下面的子項的個數取決於機器,比如0001,0002等。每個子項代表壹個硬件配置文件。每個子項下都有顯示、枚舉、紅外線、軟件和系統子項。Enum key包括機器上安裝的每個設備的配置數據,其內容因機器不同而不同,對應多個子項:
(1) BIOS:包括集成在主板上的各種設備,每個設備都是EISA格式(如*PNP0001)。微軟給某些設備類型分配了壹定的範圍,所以這些用戶壹般不用問,我們就跳過了。如果妳需要這方面的信息,妳可以在網上查找。
⑵ESDI:表示硬盤類型和驅動器特征等。
⑶FLOP:表示軟盤驅動器。
⑷HTREE:不包含任何設備,其下的子項保留設備管理中保存的資源列表。
⑸ISAPNP:ISA即插即用設備。
紅外:⑹紅外接口,可以看到連接到該端口的每個虛擬設備的子項。
(7) ⑺LPTENUM:它僅在即插即用打印機安裝在並行端口上時存在。
⑻MF:它包括安裝在計算機中的每個多功能設備的子項。
⑼MONITOR:它通常包括壹個單獨的子項。DEFAULT_MONITOR表示當前監視器。
⑽網絡:網絡協議,通常可以看到以下子項:FASTIR- infrared protocol、MSTCP-TCP\IP、VREDIR-MicroSoft network client、VSERVER- file和printer * * *。
⑾PCI:包括每個PCI設備。
⑿PCMCIA:安裝在計算機上的PC卡設備。
[13] ⒀ROOT:通過“添加新硬件”來檢測計算機或驅動程序檢測到的硬件安裝不正確。
[14] SCSI:安裝在計算機上的每個SCSI設備。
⒂SERENUM:連接到串行接口的設備。
⒃USB:連接到USB接口的設備。
⒄VPOWERD:電力管理公司。
(2)硬件密鑰
計算機硬件配置中的壹些不確定信息就存儲在這個鍵值中。
(3)網絡密鑰
該鍵值存儲安全提供者、當前用戶名、組策略等。
(4)安全密鑰
該鍵值存儲諸如具有管理權限的每個用戶和組等信息。
(5)軟件密鑰
計算機中安裝的軟件的設置。每個軟件程序采用“公司名稱\軟件名稱\軟件版本”的組織形式。本節中的設置對於排除故障和定制系統非常有用。
(6)系統密鑰
該鍵值存儲系統中的設備驅動程序等信息。
5、HKEY當前配置:
是HKEY_LOCAL_MACHINE\Config的快捷方式。
6、HKEY_DYN_DATA:
系統的動態數據。
知道了這些鍵的含義,就可以自己學習了。找到主鍵和子鍵,如果有任何問題,請進行更改。當然,別忘了備份。其實Windows每次啟動時都會自動備份註冊表,放在windows\sysbckup的rb00X.cab文件中。如果註冊表有問題,用DOS下的extract /e展開,復制回來。當然也可以直接復制System.dat和User.dat進行備份。
參考資料:
/page2/reg/q2.htm