假設你的電腦很新,新到沒有安裝任何Office類的軟體(連試用版都沒有),但此時你想要開啟一份.docx文件檔案,你在文件上方點兩下左鍵,會發生什麼事?

Windows 7裡面內建的WordPad會開啟這份文件。

但是,當你安裝了Word(或者應該是說,裝了Office) 2007之後,同樣的一份文件,不僅圖示的樣子變了,當你再次點兩下該文件,開啟文件的軟體就會變成Word了。請問,這是為什麼?

這表示,安裝Office的過程中一定有某個「失落的環節」被我們忽略了。如今我們知道,這失落的環節就被稱為「Registry」,我個人稱之為「註冊檔」。不過這並非是Registry正式的中譯名,我個人還是僅用英文名稱之。

而上面這個例子,僅不過是Registry千萬個應用層面的一個小小應用而已。

Registry的前世今生

最早的Windows(Windows 2.11、3.0、3.1……),設定就寫在一些文字檔裡面,像是「WIN.INI」和「SYSTEM.INI」。為著所謂的「老舊軟體的相容性」,這些檔案的殘骸即使到了Windows 7都還存在著。在Windows的安裝資料夾底下(預設通常是C:\Windows),都還找得到這些檔案。舉個例子,如果要設定.BMP檔案讓PBRUSH.EXE程式開啟,那WIN.INI裡面的[Extensions]區段裡面,可能會有下列敘述:

BMP=PBRUSH.EXE ^.BMP

但是,隨著Windows環境越來越不單純,使用者可以安裝的軟體越來越多,WIN.INI這樣一個文字檔的就被各種軟體改得面目全非,亂七八糟。裝了A軟體,A軟體就去改一下WIN.INI,裝了B軟體,B軟體也去改一下WIN.INI──你改一下他改一下,最後的結果就是Windows越來越慢,甚至當機(咦……!這狀況似乎並不陌生?)。等到Windows完全無法載入時,使用者也沒有辦法解決相關問題,所以Windows就這麼樣的「亂」下去。

所以到了Windows 95時代,Microsoft改變了「用文字檔紀錄設定」的模式,改用資料庫形式的Registry。以前講過,「管理」的其中一個原則是「集中」,Microsoft把所有設定集中在Windows的Registry裡面,並希望其他應用軟體在安裝時,也統一把它們需要的設定值寫入Registry。因為Registry是個資料庫,要用專屬的編輯程式才能增刪,資料寫入註冊檔案也需要特別的知識(至少你得知道註冊檔格式吧),似乎較能避免一般使用者亂改。

Registry的功能

使用者可以自己改Registry的內容嗎?可以的,只是通常你不需要這麼做。又或者說,軟體大多會提供更改選項的介面,當你調整選項後,選項就是被存到Registry檔案裡面了,讓我舉一些例子吧:

● USB隨身碟插入後,是否要自動執行AUTORUN.INF的選項

● 某個副檔名的檔案,預設被哪個應用程式開啟的選項

● 當你對某個物件,按下滑鼠右鍵時所跑出來的選單項目有哪些

以「USB隨身碟插入後是否自動執行」這個項目為例,在Windows XP底下就沒有很方便的介面可以開啟/關閉,但是在Windows 7底下就可以從「控制台\硬體和音效\自動播放」這個項目中,自行調整各種媒體的自動執行要如何被執行。

換句話說,你從控制台調整的選項,將會被紀錄到Windows的Registry裡面。也就是說,從這些操作中各位可以瞭解:使用不需要「直接管理」Registry,你只需要透過軟體介面調整選項,選項自然會被存到Registry。

事實上,一臺電腦上的Windows可以建立多使用者,讓不同的成員切換使用,所以每個使用者還可以分別紀錄自己的選項到Registry裡,互不干擾,可說是相當的「有條不紊」。由於Registry裡面的選項控制了Windows運作的「行為」,因此其重要性不言可喻。

Registry的缺點

不過,好景不常的是……即使到了今天,Windows 7都已經問世了,Registry面臨的問題還是一樣。

由於所有設定集中於此,「北港香爐」般的Registry被這改那改,改得亂七八糟之後,系統效能就越來越糟。因為每個軟體都認為自己很重要,都要儲存很多設定,這些設定被存入Registry之後,每次都隨著Windows啟動而被載入。問題是,這些軟體並不是每一套都得「隨傳隨到」啊!既然如此,那它們的相關設定幹麼一直要被載入?

所以,現在終於可以回答一個許多人常見的簡單問題:「當電腦裝入很多軟體之後,Windows效能是否會受影響?」會,尤其是如果你裝入的軟體都很喜歡改Registry,那影響就相當嚴重,而且會隨著電腦的使用時間越久而越來越嚴重。事實上,越是「大廠」的軟體就越不在乎這種事情。因為大廠總覺得自己的軟體是「絕對必要」,所以裝了以後都會大肆更動Registry的內容。

Registry的另一個問題是:使用者還是可能因為「意外」動到其中的內容,而毀掉整個系統。因此,有的公司為了避免使用者亂改Windows的設定,會把一般使用者的權限幾乎是「全部鎖起來」,讓你無法安裝軟體,無法使用光碟機,無法使用隨身碟,無法亂連上某些網站……老實說,就管理的角度而言,這樣可以減少很多問題,如果你只是要用電腦的基本功能,那把其他「危險的」或是「有洩密問題」的部份給鎖住,似乎也是必要的。

Registry的編修

那我們要來研究Registry的編修嗎?

才不要哩!拜託,電腦被搞壞怎麼辦!

我個人的看法是,各位只要知道,「Registry是個資料庫」,什麼資料庫?存放了大量的Windows設定值和各種選項、開關的資料庫,把這概念先記住就對了。

即使如此,我仍想示範三個用「簡單方法」編修Registry之後,可以達成的特殊功能,讓各位「知道一下Registry的厲害」。其一稱為「捷徑箭頭顯示的開關」,其二稱為「移除『 - 捷徑』字樣」,其三則是「從『電腦』叫出『裝置管理員』」。

捷徑箭頭顯示的開關

新增一個文字文件,並將它另存為「關閉捷徑箭頭顯示.REG」,這文字檔的內容如下(紅字為一整行字):

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\lnkfile]
"IsShortCut"=-
[HKEY_CLASSES_ROOT\piffile]
"IsShortCut"=-
[HKEY_CLASSES_ROOT\InternetShortcut]
"IsShortCut"= -

如果打錯字母或符號,那產生的結果可能會意想不到,所以建議各位到iThome網站上找到這篇文章,然後再複製、貼上到文字檔裡面。如果一切無誤,只要在「關閉捷徑箭頭顯示.REG」這文字檔上按兩下滑鼠左鍵,重開機後──所有你建立的捷徑都將不再會有箭頭符號。有人認為這樣比較美觀?見仁見智,我個人並不喜歡如此,但至少你知道了「你可以這麼做」(而Windows似乎沒有提供相關選項可改此設定)的技巧。

要恢復捷徑圖示的箭頭顯示如何做?只要建立「開啟捷徑箭頭顯示.REG」文字檔,內容如下:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\lnkfile]
"IsShortCut"="Yes"
[HKEY_CLASSES_ROOT\piffile]
"IsShortCut"="Yes"
[HKEY_CLASSES_ROOT\InternetShortcut]
"IsShortCut"="Yes"

點兩下並重開機,捷徑圖示上又會有箭頭符號了。

「 - 捷徑」字樣

我個人常會用Windows的捷徑功能,但我不喜歡後面總會跑出「 - 捷徑」的字樣,所以每次建立捷徑之後,我得手動把後面這5個字元給刪掉(含空格),久而久之就是煩啊!

到附屬應用程式找「執行」,在對話盒裡面輸入「REGEDIT」後按下Enter,開啟Registry邊修程式,依照這個層次「HKEY_CURRENT_USER\ Software\Microsoft\Windows\CurrentVersion\Explorer」找尋欄位,最後找到「link」這個項目,將原先的「15 00 00 00」改成「00 00 00 00」,重新開機後,建立捷徑就不再會有「 - 捷徑」字樣。

從「電腦」叫出「裝置管理員」

Windows 7的桌面上預設只有資源回收筒,但我個人常會把其他幾個圖示(電腦、控制台……)都叫出來,方便取用。其中「電腦」這東西就是Windows XP時代的「我的電腦」,只是名稱更簡潔了(從Windows Vista開始,Microsoft使用了新式命名法則)。

有些系統工具並不常用,但是我想用的時候,就是不喜歡總是一層一層從「控制台」去找。既然它們是系統工具,我總希望能夠從「電腦」這個圖示上按滑鼠右鍵就直接開啟──可以的,底下就示範從「電腦」叫出「裝置管理員」的設定方式。

建立一個文件檔,命名為「叫出裝置管理員.REG」,內容如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\DevMgr]
@="裝置管理員"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\DevMgr\command]
@="mmc.exe devmgmt.msc"

點兩下該檔,確認匯入這個Registry值之後,不用重開機,在「電腦」上按滑鼠右鍵,就可以直接叫出「裝置管理員」了。讚不讚?我個人覺得這樣還蠻讚的。

本期結論:目前趨勢是「綠色軟體」
大概瞭解Registry的概念與威力之後,最後來談談:「那怎麼解決Registry的問題呢?」

如果不想被軟體安裝時的Registry修改動作給「絆住」,其中一個方法是使用所謂的綠色軟體(portable software)。這類軟體大多可以安裝到任意的路徑,也不會寫入Registry。它們通常可以讀取簡單的XML文字設定檔,或是使用簡單的設定方式。是的,安裝這種軟體真是很方便,也不會讓系統越來越慢。

不過,大廠、大部頭的軟體很少有綠色版,目前綠色版軟體大多也侷限於小型軟體(當然,網路上非法流竄的軟體除外),所以這問題一時三刻也無法解決。就「軟體裝太多導致的Registry紊亂」問題呢,我個人會建議你用軟體「清掃」,市面上這類軟體真的非常非常多,從免費的CCleaner到付費的Registry Optimizer都有。畢竟,Registry太複雜,不可能用人力一項一項觀看並清理,唯有使用專屬軟體才可以「畢其功於一役」。

 

依照「HKEY_CURRENT_USER\Software\ Microsoft\ Windows\CurrentVersion\Explorer」找尋欄位,最後找到「link」這個項目,將原先的「15 00 00 00」改成「00 00 00 00」,重新開機後,建立捷徑就不再會有「 - 捷徑」字樣。

 

匯入適當的Registry值,在「電腦」圖示上按滑鼠右鍵,就可以直接叫出裝置管理員(而不用到控制台裡面點選了)。


熱門新聞

Advertisement