CLSID 子鍵
在Windows下每件事都被用一個數(shù)字取代它的名字來對待。就象人往往是用名字來處理事情一樣。CLSID是標識所有列出的圖標,應(yīng)用程序,目錄,文件類型等等對象的數(shù)字。是微軟為制造商分配的,每一個都必須是唯一的。制造商將CLSID放入安裝程序文件這樣就可以在安裝時更新注冊表。
注冊表是應(yīng)用程序進行時它們需要關(guān)于做什么的指示的數(shù)據(jù)庫。比如說,假定你有一個微軟Excel 7電子數(shù)據(jù)表的Word 7文檔,當你在Word中雙擊這個電子數(shù)據(jù)表,應(yīng)用程序菜單就會變成Excel的菜單而且電子數(shù)據(jù)表進入編輯狀態(tài),就好像你在Excel中一樣。它是如何知道該做什么呢?每個Excel 7創(chuàng)建的文件都有Excel的CLSID連接。Word讀這個CLSID后,到注冊表中尋找指示,依賴CLSID下的數(shù)據(jù)運行.DLL文件或者應(yīng)用程序。
CLSID子鍵為對象類型提供了OLE和DDE信息和圖標。相關(guān)菜單,或者包含在它子鍵中的屬性項信息。這個可能是多數(shù)讓人看到后覺得“恐怖”的鍵。每個CLSID數(shù)必須是唯一的,實際上,為了這個目的微軟已經(jīng)出產(chǎn)了CLSID-產(chǎn)生程序--這個結(jié)果導(dǎo)致你往往得到32位16進制的數(shù)字串,除非你是程序員,否則多數(shù)部分鍵看起來是很枯燥的。它們包括內(nèi)存管理模式,客戶機/服務(wù)器配置,和OLE處理的.dll連接。
[
編輯本段]
關(guān)于子鍵的一點注解 1)shell:Shell鍵有個一”action“子鍵,如同”open“一樣,這里有一個command子鍵;command子鍵有一個缺省句值,它包含了運行程序的命令行。將一個”open“子鍵放在一個對象類型的shell子鍵中會在這個對象類型的彈出菜單上多出一個”open“選項,給這個open子鍵一個command(缺省命令行"C:\Windows \Notepad.exe %1")子鍵會使得打開這個對象類型時使用筆記本做為缺省應(yīng)用程序。其他操作選項包括View,Print,Copy,Virus,Scan等等。
2)shellex:Shellex鍵有一個子鍵。它們包含的每一個子鍵指向一個為對象類型執(zhí)行OLE和DDE功能的CLSID項(比如說快速查看,一個菜單處理子鍵下指向一個有句值的CLSID鍵列出了包含了文件瀏覽功能的.dll文件)
3)shellnew:ShellNew包含了一個“command”句,它包含了一個打開對象類型“新”文件的命令行。
4)DefaultIcon:DefaultIcon子鍵包含了一個“default”句,它包括了一個指向圖標的命令行(比如說,"C:\Windows \System \shell32.dll,2" 2就是從0數(shù)的第三個圖標,記住,是在Shell32.dll中的)
除了和它們擴展名關(guān)聯(lián)擴展名和文件類型以外,它們在HKEY_CLASSES_ROOT還有很多項。所有它們的項也都適用于nt,如界面和應(yīng)用程序的執(zhí)行。通常你將編輯僅僅一小部分這樣的項。除了彈出菜單提示以外,所有包含在這里的項只會在安裝應(yīng)用程序,在程序中設(shè)置調(diào)整或者創(chuàng)造關(guān)聯(lián)時被改變。
沒有HKEY_CLASSES_ROOT你是不能啟動系統(tǒng)的;你手工編輯它真的是很困難。HKEY_CLASSES_ROOT是你需要注冊標一個很重要的原因:應(yīng)用程序的控制和操作這個系統(tǒng)??吹剿某叽绾瓦@個處理鍵的復(fù)雜程度,SYSTEM.INI 和 WIN.INI不再夠用也是不用驚奇的。
HKEY_CURRENT_CONFIG
win95一般只使用一個硬件配置文件。如果有多個硬件配置文件。HKEY_LOCAL_MACHINE\Config中就會添加一個鍵。HKEY_LOCAL_MACHINE\Config包含了HKEY_LOCAL_MACHINE中相同的數(shù)據(jù)
在啟動時,你可以選擇你愿意使用的配置文件。如果有多個安裝,每次系統(tǒng)重新啟動時,你就必須選擇.HKEY_CURRENT_CONFIG是在啟動時控制目前硬件配置的鍵
在系統(tǒng)啟動以后,任何地方的變化都會自動影響到它。程序員經(jīng)常使用HKEY_CURRENT_CONFIG方便的來存取配置信息。
HKEY_CURRENT_CONFIG包括了系統(tǒng)中現(xiàn)有的所有配置文件的細節(jié)。你的選擇影響了哪一個硬件配置文件成為現(xiàn)在的。舉例來說,如果配置0002被選擇了,所有0002的配置信息會被映射到這些鍵上
HKEY_CURRENT_CONFIG允許軟件和設(shè)備驅(qū)動程序員很方便的更新注冊表,而不涉及到多個配置文件信息。 HKEY_LOCAL_MACHINE中同樣的數(shù)據(jù)和任何注冊表的變化都會同時的變化。
HKEY_DYN_DATA
在HKEY_DYN_DATA鍵中所有信息都是在啟動時被寫入的。它再現(xiàn)了Win95在系統(tǒng)中控制硬件所使用的動態(tài)數(shù)據(jù)。它僅只有三個鍵。它們保留了系統(tǒng)目前狀態(tài)監(jiān)視所需要的很簡單的信息
在HKEY_DYN_DATA中除了暫時文件,沒有任何數(shù)據(jù)被寫入硬盤。在系統(tǒng)每次重新啟動時所有的數(shù)據(jù)被重新寫入。另外,在既插即用的情況下,當設(shè)備改變狀態(tài)時一些數(shù)據(jù)可能會寫入。(比如說系統(tǒng)運行時在一個PCMCIA槽中插入一塊網(wǎng)卡)
Config Manager
配置管理包括了在Win95中每個安裝設(shè)備啟動時的信息。在啟動時它從HKEY_CURRENT_CONFIG中獲得它的列表并且檢查每個項。如果找到一個沒有在列表中列出的設(shè)備,它向系統(tǒng)報告這些信息來安裝。如果列表中的一個設(shè)備不在系統(tǒng)中,它就會在這個鍵值中顯示這個情況。
Enum
系統(tǒng)中已安裝的每個設(shè)備的啟動狀態(tài)都在這個鍵中被列出。如果某個設(shè)備沒準備好,它就在這里顯示出來。如果它準備好了,它也會顯示出來。每個設(shè)備指針也被列出顯示哪個注冊這個設(shè)備用來做它的控制
PerfStats
系統(tǒng)中所有設(shè)備的性能特征保存在這個鍵。它是十分難讀的,但是通過系統(tǒng)監(jiān)視器就十分容易看懂
Security
這個鍵顯示了登陸在這臺機器和網(wǎng)絡(luò)上的登陸用戶從哪個證明者得到有效的證明
HKEY_USERS
HKEY_USERS將缺省用戶和目前登陸用戶的信息輸入到注冊表編輯器,在win95中,它僅被那些配置文件激活的登陸用戶使用,同樣在nt下,它也是這樣。
win95從user.dat中取得他們的信息,winnt從ntuser.dat中取得信息。.dat文件包含了所有基于用戶的注冊表設(shè)置并且允許你取配置這些用戶的環(huán)境。如果你改變了缺省用戶的設(shè)置,所有新用戶會繼承同樣的設(shè)置。而且,那些已經(jīng)被建立的用戶變的失效。
HKEY_USERS\.DEFAULT
這個鍵的設(shè)置被用于所有新用戶,用戶們的配置文件從這個配置文件中建立。它包括所有的環(huán)境,屏幕,聲音,和其他用戶相關(guān)的功能。
HKEY_USERS\.DEFAULT\AppEvents
這個鍵列出了事件響應(yīng),描述,和各種系統(tǒng)功能的聲音
HKEY_USERS\.DEFAULT\AppEvents\Schemes
缺省和當前的聲音方案在這個鍵和它的子鍵中列出。在事件的時間中系統(tǒng)播發(fā)這些聲音
HKEY_USERS\.DEFAULT\Console
這個鍵保存了MS-DOS窗口的選項、布局、熒屏顏色和字體設(shè)置。
HKEY_USERS\.DEFAULT\Control Panel
所有在控制面板里配置設(shè)置的信息全保存在這個鍵和它的子鍵中
HKEY_USERS\.DEFAULT\Control Panel\Accessibility
這個鍵保存了所有在控制面板中輔助功能的設(shè)置。
HKEY_USERS\.DEFAULT\Control Panel\Appearance
這個鍵保存了所有在控制面板里顯示外觀的設(shè)置
HKEY_USERS\.DEFAULT\Control Panel\Appearance\Schemes
這個鍵列出了缺省可用的方案,和每個方案包括的顏色和字體。
HKEY_USERS\.DEFAULT\Control Panel\Colors
這個鍵保存了Windows每個缺省顏色的設(shè)置。每個值(顏色名)像一個RGB(紅、綠、藍)值列出來。比如說,黑色是0 0 0,意思就是紅色值是0,綠色值是0,藍色值也是0。相反的白色就是255 255 255。其他的顏色都是RGB值合成的。
HKEY_USERS\.DEFAULT\Control Panel\Sound
這個鍵決定了在錯誤時系統(tǒng)是否發(fā)出響聲
HKEY_USERS\.DEFAULT\Environment
這個鍵保存了環(huán)境設(shè)置,特定的臨時性文件的位置
HKEY_USERS\.DEFAULT\Keyboard Layout
鍵盤布局設(shè)置被設(shè)置成標準美國英國標準傳統(tǒng)鍵盤布局。如果你選擇了其他的布局,那么數(shù)字列表會不同
HKEY_USERS\.DEFAULT\Software
軟件的安裝設(shè)置被保存在這個鍵中,缺省用戶只有微軟程序的設(shè)置
HKEY_USERS\.DEFAULT\Software\Microsoft
微軟的應(yīng)用程序的相關(guān)設(shè)置被放在這個鍵里。如果其他微軟程序被安裝,它們就更新這個用戶的微軟鍵。在下面的項目顯示了缺省的控制
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows
這個鍵保存了只和windows有聯(lián)系,和windows nt沒關(guān)系的設(shè)置,這些設(shè)置在win95中是相同的,使用同樣的驅(qū)動和功能
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT
基于nt 功能的設(shè)置在這個鍵中。windows nt沒有這些設(shè)置就不能夠運行,它建立環(huán)境和網(wǎng)絡(luò)上的進程,用戶權(quán)限,打印機,字體等等
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
這個設(shè)置控制了windows nt的登陸功能
HKEY_USERS\.DEFAULT\UNICODE Program Groups
缺省unicode程序組只是在使用程序管理器時被使用,explorer并不使用它們
S-1-5-21-1658001358-1336221227-1912232085-500 (SID)
HKEY_USERS\S-1-5-21-1658001358-1336221227-1912232085-500
這個是目前登陸用戶的sid,每一個網(wǎng)絡(luò)上的用戶都被域用戶管理器分配了一個sid,每一個sid都是唯一的,所以它依賴與登陸用戶,這個信息改變。它是從用戶配置文件的ntuser.dat文件調(diào)出的。一般來說,它的子鍵很多,是基與安裝的軟件的,選擇的和最終設(shè)置