? 服務||Yahoo!奇摩 知識+ 教育學習 如何做 我要發問 發表 我要發問 熱門: 隔夜蛋別吃 星座個性 清宿便 A型流感 補冬 主題 天涼泡湯趣 用手機上知識+ 知識搜尋 知識+ > > 軟體> 防毒防駭 加入追蹤 轉寄朋友 友善列印 Windows系統註冊表知識完全揭密 發表者:我從山中來.http://learn.24hropen... ( 實習生 5 級) 發表時間:2009-06-30 09:24:43 評論:0 意見: 0 [ 檢舉 ] 網友正面評價 0% ( 共有 0 人評價 ) Windows系統註冊表知識完全揭密 资料引用:http://www.knowsky.com/5652.html   Windows註冊表是幫助Windows控制硬件、軟件、用戶環境和Windows界面的一套數據文件,註冊表包含在Windows目錄下兩個文件system.dat和user.dat裡,還有它們的備份system.da0和user.da0。 通過Windows目錄下的regedit.exe程序可以存取註冊表數據庫。 在以前,在windows的更早版本(在Win95以前),這些功能是靠win.ini,system.ini和其他和應用程序有關聯的.ini文件來實現的.   在windows操作系統家族中,system.ini和win.ini這兩個文件包含了操作系統所有的控制功能和應用程序的信息,system.ini管理計算機硬件而win.ini管理桌面和應用程序。 所有驅動、字體、設置和參數會保存在.ini文件中,任何新程序都會被記錄在.ini文件中。這些記錄會在程序代碼中被引用。因為受win.ini和system.ini文件大小的限制,程序員添加輔助的.INI文件以用來控制更多的應用程序。舉例來說,微軟的Excel有一個office excel.ini文件,它包含著選項、設置、缺省參數和其他關係到Excel運行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路徑和文件名即可。   早在Dos和Win3.x的時代,大部分的應用程序都是採用了 ini 文件(初始化文件)來保存一些配置信息,如設置路徑,環境變量等。system.ini和win.ini控制著所有windows和應用程序的特徵和存取方法,它在少數的用戶和少數應用程序的環境中工作的很好。隨著應用程序的數量和複雜性越來越大,則需要在.ini文件中添加更多的參數項。   這樣下來,在一個變化的環境中,在應用程序安裝到系統中後,每個人都會更改.ini文件。然而,沒有一個人在刪除應用程序後刪除.ini文件中的相關設置,所以system.ini和win.ini這個兩個文件會變的越來越大。每增加的內容會導致系統性能越來越慢。而且每次應用程序的升級都出現這樣的難題:升級會增加更多的參數項但是從來不去掉舊的設置。而且還有一個明顯的問題,一個.ini文件的最大尺寸是64KB。為了解決這個問題,軟件商自己開始支持自己的.ini文件,然後指向特定的ini文件如win.ini和system.ini文件。這樣下來多個.ini文件影響了系統正常的存取級別設置。如果一個應用程序的.ini文件和WIN.INI文件設置起衝突,究竟是誰的優先級更高呢?   註冊表最初被設計為一個應用程序的數據文件相關參考文件,最後擴展成對於32位操作系統和應用程序包括了所有功能下的東東。註冊表是一套控制操作系統外表和如何響應外來事件工作的文件。這些“事件”的範圍從直接存取一個硬件設備到接口如何響應特定用戶到應用程序如何運行等等。註冊表因為它的目的和性質變的很複雜,它被設計為專門為32位應用程序工作,文件的大小被限制在大約40MB。利用一個功能強大的註冊表數據庫來統一集中地管理系統硬件設施,軟件配置等信息,從而方便了管理,增強了系統的穩定性。最直觀的一個實例就是,為什麼windows下的不同用戶可以擁有各自的個性化設置,如不同的墻紙,不同的桌面。這就是通過註冊表來實現的。   由此可見,註冊表(Registry)是Windows9x/Me/NT/2000操作系統、硬件設備以及客戶應用程序得以正常運行和保存設置的核心“數據庫”;是一個巨大的樹狀分層的數據庫。它記錄了用戶安裝在機器上的軟件和每個程序的相互關聯關係;它包含了計算機的硬件配置,包括自動配置的即插即用的設備和已有的各種設備說明、狀態屬性以及各種狀態信息和數據等。   一、註冊表都做些什麼?   註冊表是為Windows NT和Windows95中所有32位硬件/驅動和32位應用程序設計的數據文件。16位驅動在Windows NT下無法工作,所以所有設備都通過註冊表來控制,一般這些是通過BIOS來控制的。在Win9x下,16位驅動會繼續以實模式方式設備工作,它們使用system.ini來控制。16位應用程序會工作在NT或者Win9x 下,它們的程序仍然會參考win.ini和system.ini文件獲得信息和控制。   在沒有註冊表的情況下,操作系統不會獲得必須的信息來運行和控制附屬的設備和應用程序及正確響應用戶的輸入。   在系統中註冊表是一個記錄32位驅動的設置和位置的數據庫。當操作系統需要存取硬件設備,它使用驅動程序,甚至設備是一個BIOS支持的設備。無BIOS支持的設備安裝時必須需要驅動,這個驅動是獨立於操作系統的,但是操作系統需要知道從哪裡找到它們,文件名、版本號、其他設置和信息,沒有註冊表對設備的記錄,它們就不能被使用。   當一個用戶準備運行一個應用程序,註冊表提供應用程序信息給操作系統,這樣應用程序可以被找到,正確數據文件的位置被規定,其他設置也都可以被使用。   註冊表保存關於缺省數據和輔助文件的位置信息、菜單、按鈕條、窗口狀態和其他可選項。它同樣也保存了安裝信息(比如說日期),安裝軟件的用戶,軟件版本號和日期,序列號等。根據安裝軟件的不同,它包括的信息也不同。   然而,一般來說,註冊表控制所有32位應用程序和驅動,控制的方法是基於用戶和計算機的,而不依賴於應用程序或驅動,每個註冊表的參數項控制了一個用戶的功能或者計算機功能。用戶功能可能包括了桌面外觀和用戶目錄。所以,計算機功能和安裝的硬件和軟件有關,對所以用戶來說項都是公用的。   有些程序功能對用戶有影響,有些時作用於計算機而不是為個人設置的,同樣的,驅動可能是用戶指定的,但在很多時候,它們在計算機中是通用的。   二、註冊表的結構劃分及相互關係   WINDOWS的註冊表有六大根鍵,相當於一個硬盤被分成了六個分區。   在“運行”對話框中輸入RegEdit,然後單擊“確定”按鈕,則可以運行註冊表編輯器。   Windows 98中文版的註冊表Registry(System.dat、User.dat、Config.pol)的數據組織結構。   註冊表的根鍵共六個。這些根鍵都是大寫的,並以HKEY_為前綴;這種命令約定是以Win32 API的Registry函數的關鍵字的符號變量為基礎的。   雖然在註冊表中,六個根鍵看上去處於一種並列的地位,彼此毫無關係。但事實上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。   HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系統啟動後,系統就映射出HKEY_CURRENT_USER中的信息,使得用戶可以查看和編輯其中的信息。   實際上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,為了用戶便於查看和編輯,系統專門把它作為一個根鍵。 同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control 就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。   HKEY_USERS中保存了默認用戶和當前登錄用戶的用戶信息。HKEY_CURRENT_USER中保存了當前登錄用戶的用戶信息。   HKEY_DYN_DATA保存了系統運行時的動態數據,它反映出系統的當前狀態,在每次運行時都是不一樣的,即便是在同一台機器上。   根據上面的分析,註冊表中的信息可以分為HKEY_LOCAL_MACHINE和HKEY_USERS兩大類,這兩大類的詳細內容請看後面的介紹。   三、六大根鍵的作用   在註冊表中,所有的數據都是通過一種樹狀結構以鍵和子鍵的方式組織起來,十分類似於目錄結構。每個鍵都包含了一組特定的信息,每個鍵的鍵名都是 和它所包含的信息相關的。如果這個鍵包含子鍵,則在註冊表編輯器窗口中代表這個鍵的文件夾的左邊將有“+”符號,以表示在這個文件夾中有更多的內容。如果這個文件夾被用戶打開了,那麼這個“+”就會變成“-”。   1.HKEY_USERS   該根鍵保存了存放在本地計算機口令列表中的用戶標識和密碼列表。每個用戶的預配置信息都存儲在HKEY_USERS根鍵中。HKEY_USERS是遠程計算機中訪問的根鍵之一。   2.HKEY_CURRENT_USER   該根鍵包含本地工作站中存放的當前登錄的用戶信息,包括用戶登錄用戶名和暫存的密碼(注:此密碼在輸入時是隱藏的)。用戶登錄Windows 98時,其信息從HKEY_USERS中相應的項拷貝到HKEY_CURRENT_USER中。   3.HKEY_CURRENT_CONFIG   該根鍵存放著定義當前用戶桌面配置(如顯示器等)的數據,最後使用的文檔列表(MRU)和其他有關當前用戶的Windows 98中文版的安裝的信息。   4.HKEY_CLASSES_ROOT   根據在Windows 98中文版中安裝的應用程序的擴展名,該根鍵指明其文件類型的名稱。   在第一次安裝Windows 98中文版時,RTF(Rich Text format)文件與寫字板(WordPad)&127;聯繫起來,但在以後安裝了中文Word 6.0後,雙擊一個RTF文件時,將自動激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,將替代WIN.INI文件中的[Extensions]&127;小節中的設置項,它把應用程序與文件擴展名聯繫起來,它也替代了Windows 3.x中的Reg.dat文件中的相似的設置項。   5.HKEY_LOCAL_MACHINE   該根鍵存放本地計算機硬件數據,此根鍵下的子關鍵字包括在SYSTEM.DAT中,用來提供HKEY_LOCAL_MACHINE所需的信息,或者在遠程計算機中可訪問的一組鍵中。   該根鍵中的許多子鍵與System.ini文件中設置項類似。   6.HKEY_DYN_DATA   該根鍵存放了系統在運行時動態數據,此數據在每次顯示時都是變化的,因此,此根鍵下的信息沒有放在註冊表中。   四、註冊表部分重要內容   註冊表是一個大型數據庫Registry。要詳細地分析該數據庫,不是一兩頁就能介紹完。我曾經用了半年多時間分析此數據庫結構。下面只介紹部分重要內容。   (一)HKEY_CLASS_ROOT   1.HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon雙擊窗口右側的默認字符串,在打開的對話框中刪除原來的“鍵值”,輸入%1。重新啟動後,在“我的電腦”中打開Windows目錄,選擇“大圖標”,然後你看到的Bmp文件的圖標再也不是千篇一律的MSPAINT圖標了,而是每個Bmp文件的略圖(前提是未安裝ACDSee等看圖軟件)。   (二)HKEY_CURRENT_USER   1.HKEY_CURRENT_USER\Control Panel\Desktop 中新建串值名MenuShowDelay=0 可使“開始”菜單中子菜單的彈出速度提高。   2.在HKEY_CURRENT_USER\Control Panel\Deskt-op\WindowsMeterics中新建串值名MinAnimate,值為1啟動動畫效果開關窗口,值為0取消動畫效果。   (三) HKEY_LOCAL_MACHINE   1.HKEY_LOCAL_MACHINE\ software\microsoft\windows\currentVersion\explorer\user shell folders 保存個人文件夾、收藏夾的路徑。   2.HKEY_LOCAL_MACHINE\ system\currentControl-Set\control\keyboard Layouts 保存鍵盤使用的語言以及各種中文輸入法。   3.HKEY_LOCAL_MACHINE\ software\microsoft\windows\currentVersion\uninstall 保存已安裝的Windows應用程序卸載信息。   4.HKEY_LOCAL_MACHINE\ system\CurrentControl-Set\services\class 保存控制面板-增添硬件設備-設備類型目錄。   5.HKEY_LOCAL_MACHINE\ system\Current-ControlSet\control\update 設置刷新方式。值為00設置為自動刷新,01設置為手工刷新[在資源管理器中按F5]。   6.HKEY_LOCAL_MACHINE\ software\microsoft\win-dows\currentVersion\run 保存由控制面板設定的計算機啟動時運行程序的名稱,其圖標顯示在任務條右邊。在“啟動”文件夾程序運行時圖標也在任務條右邊。   7.HKEY_LOCAL_MACHINE\ software\microsoft\windows\currentVersion\Policies\Ratings 保存IE4.0中文版“安全”\“分級審查”中設置的口令(數據加密),若遺忘了口令,刪除 Ratings 中的數據即可解決問題。   8.HKEY_LOCAL_MACHINE\ software\microsoft\windows\currentVersion\explorer\desktop\nameSpace 保存桌面中特殊的圖標,如回收站、收件箱、MS Network等。   (四) HKEY_USERS   1.HKEY_USERS\.Default\ software\microsoft\internet explorer\typeURLs 保存IE4.0瀏覽器地址欄中輸入的URL地址列表信息。清除文檔菜單時將被清空。   2.HKEY_USERS\.Default\ so..\mi..\wi..\current-Version\ex..\menuOrder\startMenu 保留程序菜單排序信息。   3.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RunMRU 保存“開始 \ 運行...”中運行的程序列表信息。清除文檔菜單時將被清空。   4.HKEY_USERS\.Default\s o..\microsoft\windows\current-Version\explorer\RecentDocs 保存最近使用的十五個文檔的快捷方式(刪除掉可解決文檔名稱重複的毛病),清除文檔菜單時將被清空。   5.HKEY_USERS\.default\ software\microsoft\windows\currentVersion\applets 保存Windows應用程序的記錄數據。   6.HKEY_USERS\.default\ software\microsoft\windows\currentVersion\run 保存由用戶設定的計算機啟動時運行程序的名稱,其圖標顯示在任務條右側。   五、與註冊表有關的術語:   ①、註冊表:是一個樹狀分層的數據庫。從物理上講,它是System.dat和User.dat兩個文件;從邏輯上講,它是用戶在註冊表編輯器中看到的配置數據。   ②、HKEY :“根鍵”或“主鍵”,它的圖標與資源管理器中文件夾的圖標有點兒相像。Windows98將註冊表分為六個部分,並稱之為 HKEY_name,它意味著某一鍵的句柄。   ③、key(鍵):它包含了附加的文件夾和一個或多個值。   ④、subkey(子鍵):在某一個鍵(父鍵)下面出現的鍵(子鍵)。   ⑤、branch(分支):代表一個特定的子鍵及其所包含的一切。一個分支可以從每個註冊表的頂端開始,但通常用以說明一個鍵和其所有內容。   ⑥、value entry(值項):帶有一個名稱和一個值的有序值。每個鍵都可包含任何數量的值項。每個值項均由三部分組成:名稱,數據類型,數據。   ★ 名稱:不包括反斜槓的字符、數字、代表符、空格的任意組合。同一鍵中不可有相同的名稱。   ★ 數據類型:包括字符串、二進制、雙字三種。   字符串(REG_SZ):顧名思義,一串ASCII碼字符。如“Hello World”,是一串文字或詞組。在註冊表中,字符串值一般用來表示文件的描述、硬件的標識等。通常它由字母和數字組成。註冊表總是在引號內顯示字符串。   二進制(REG_BINARY):如 F03D990000BC ,是沒有長度限制的二進制數值,在註冊表編輯器中,二進制數據以十六進制的方式顯示出來。   雙 字(REG_DWORD):從字面上理解應該是Double Word ,雙字節值。由1-8個十六進制數據組成,我們可用以十六進制或十進制的方式來編輯。如 D1234567 。   ★ 數據: 值項的具體值,它可以占用到64KB。   ⑦、 Default(缺省值):每一個鍵至少包括一個值項,稱為缺省值(Default),它總是一個字串。 资料引用:http://www.knowsky.com/5652.html 檢視圖片  [ 快速連結 ] 意見( 0 ) | 評論( 0 ) 發表你的評價 你的評價 發表評價: 正面 普通 負面 評價內容: 發表 取消 加入追蹤 轉寄朋友 友善列印 馬上按讚 加入 Yahoo! 奇摩 知識+ 粉絲團 一對一家教 學英文超自在 不背單字的戰勝多益字彙法 免費下載英文實用教材 超方便!吃喝玩樂一次搞定 旅遊住宿所有資訊一應俱全 什麼!找裝潢廠商這麼簡單 相關問答 [ 國家考試 ]智慧型運輸系統 ITS 子系統類型的分類情形? [ 保養維修 ]什麼是電子控制系統(ESP)??? [ 其他 ]何謂系統理論? [ 電腦 ]我想要報系統網管教學 哪裡有? [ 創業 ]在家創業系統是不是騙人的? [ SOHO ]挑選在家工作系統,需要什麼條件? 更多 意見(0) 相關評論(0) 目前沒有資料 發表意見 發表意見 發表 取消 目前沒有資料 我要評論 註冊 公告: 知識團員轉粉絲全數完成 最新防毒防駭 發問中 已解決 防毒軟體。 BBSVC.exe這是什麼? Facebook被盜 !!!!!! 0xc0000409位於0100116db 電腦中毒了?? 800000cb.@ 和800000.@ 更多 電腦中廣告病毒 Win32:Adware-gen [Adw] 平板電腦中毒的問題 更多 精選關鍵字 NOD32 病毒碼 無法刪除 安全憑證 防木馬軟體 駭客入侵 解毒 kavo Ad-aware BUG 小紅傘 隨身碟病毒 掃毒 綁架 中毒 無法更新 Symantec ESET 下載 卡巴斯基 防火牆 垃圾郵件 Norton 掃木馬 外掛 特洛伊病毒 試用版 防毒軟體 線上掃毒 趨勢 知識搜尋 雅虎資訊 版權所有 (c) 2012 Yahoo! Taiwan. All Rights Reserved. 「本服務設有管理員」 服務條款隱私權政策知識+ 之問答內容是由參與+ 之網友提供,僅供參考,Yahoo!奇摩不保證其正確性。

每日好康

電腦周邊 3C家電 視聽家電

名牌與手錶

交通/美食

品牌旗艦

超商取貨

美妝保養品 流行服飾 鞋包配飾

傢俱/寢飾

書籍DVD

快速到貨








以上資料來源,如有侵犯到著作權請到留言板通知站長移除 以上文章引用出處:http://tw.knowledge.yahoo.com/question/article?qid=1712010486959
arrow
arrow
    全站熱搜

    aaaqq001 發表在 痞客邦 留言(0) 人氣()