1、逼迫DLL文件交出內存資源
不少應用程序在啟動時需要調用某些DLL文件,這些DLL文件往往會占用一定的內存資源,但遺憾的是當應用程序被使用完畢退出系統后,那些曾經被調用的DLL文件并不會隨程序關閉而自動交出它們所占用的內存資源,這樣就容易造成內存資源的浪費,并且隨著運行的應用程序越多,系統內存資源就被消耗得越多,最終會影響系統的整體運行效率。那有沒有辦法逼迫那些已經過時的DLL文件,交出它們所占有的內存資源,從而保證系統內存空間始終處于“干凈”狀態呢?答案是肯定的,我們可以按照如下步驟來逼迫DLL文件交出內存資源:
依次單擊“開始”/“運行”命令,在彈出的系統運行對話框中,輸入字符串命令“regedit”,單擊“確定”按鈕后,打開系統的注冊表編輯界面;
在注冊表編輯界面中,找到其中的注冊表分支HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorer(如圖1所示);
圖 1
在對應“Explorer”子鍵的右側窗口區域中,檢查一下是否有“AlwaysUnloadDLL”字符串鍵值的身影,如果沒有的話,那可以用鼠標右鍵單擊右側窗口區域中的空白位置,并從彈出的快捷菜單中依次執行“新建”、“字符串值”命令,然后將新創建好的字符串值名稱設置為“AlwaysUnloadDLL”,再用鼠標雙擊“AlwaysUnloadDLL”鍵值,在其后界面的“數值數據”文本框中直接輸入數字“1”,并單擊“確定”按鈕,最后刷新一下系統注冊表,這樣就能逼迫那些過時的DLL文件交出曾經占有的系統內存資源了。
2、逼迫DLL文件交出空間資源
在頻繁地安裝與卸載應用程序之后,系統中的有些DLL文件就會變成無用的垃圾文件,不過這些垃圾文件仍然會占用系統的硬盤空間資源,時間一長越來越多的垃圾DLL文件就會消耗越來越多的硬盤空間資源。為此,我們可以通過下面的操作步驟,來將無用的垃圾DLL文件刪除掉:
依次單擊“開始”/“運行”命令,在彈出的系統運行對話框中,輸入字符串命令“regedit”,單擊“確定”按鈕后,打開系統的注冊表編輯界面;
用鼠標逐一展開其中的注冊表分支HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSharedDlls(如圖2所示);
圖 2
在對應“SharedDlls”子鍵的右側窗口區域中,我們就能看到當前系統的所有DLL調用情況,要是對應某個DLL文件的數據顯示為“0”的話,那就說明沒有應用程序使用該DLL文件,那么該DLL文件就是無用垃圾文件,將這些無用的DLL文件名稱逐一記錄下來;
接下來返回到Windows系統桌面,并依次單擊“開始”/“搜索”/“文件或文件夾”命令,然后在彈出的系統搜索文件對話框中,輸入前面記錄下來的無用DLL文件,再單擊“搜索”按鈕找到無用DLL文件所在的具體位置,之后將這些找到的DLL文件臨時轉移到其他位置,并讓系統再運行一些日子,看看系統是否能夠正常運行,要是系統仍然可以正常運行的話,那我們就能把那些無用的DLL文件真的從硬盤中刪除掉了,這樣就能有效地節省硬盤空間資源了。
3、借用DLL文件解決系統運行錯誤
由于許多應用程序的DLL文件都是共用的,一旦對某個應用程序執行了卸載操作之后,共用的那個DLL文件也有可能被隨之卸載,這么一來其他應用程序運行時由于找不到共用DLL文件而出現運行錯誤。當不幸遇到這樣的故障現象時,我們不妨通過對DLL文件的注冊與卸載,來快速有效地解決各種常見的系統故障。
一般情況下,要注冊某個DLL文件時,我們可以打開系統運行對話框,然后在其中輸入字符串命令“regsvr32 aaa.dll”(其中regsvr32為動態鏈接文件的注冊命令,aaa.dll文件為具體的目標動態鏈接文件),單擊“確定”按鈕后,系統就能自動將目標DLL文件注冊成功了!如果要對某個目標DLL文件進行反注冊的話,那可以在系統運行對話框中輸入“regsvr32 aaa.dll /u”(其中“u”參數表示反注冊的意思),單擊“確定”按鈕后,系統就能自動將目標DLL文件從系統中卸載掉了!比方說,我們要是想將Windows XP系統默認的ZIP壓縮功能卸載掉的話,那就可以在系統運行對話框中執行“regsvr32 %windir%system32zipfldr.dll /u”字符串命令。
當然,逐個逐個地注冊或反注冊DLL文件,顯然會影響系統的操作效率。事實上,我們完全可以通過創建批處理文件的方法,來快速對多個目標DLL文件進行注冊或反注冊;例如,我們要想一次性對system32子文件夾中的aa.dll文件與bb.dll文件進行注冊的話,就可以打開記事本編輯程序,并在其編輯界面中輸入下面的命令代碼:
@echo off
regsvr32 aa.dll /s
regsvr32 bb.dll /s
其中“s”參數表示目標DLL文件被注冊成功后系統不彈出成功提示窗口,將上面的代碼保存成擴展名為bat的批處理后,再用鼠標雙擊該批處理文件系統就能同時對aa.dll文件與bb.dll文件進行注冊操作了。
當然,系統一旦發生DLL文件相關錯誤時,我們往往無從知道究竟是哪一個目標DLL文件引起的,為了要順利解決這樣的故障,我們索性就將系統system32子文件夾中的所有DLL文件重新進行一下注冊。在對所有DLL文件進行快速注冊時,可以按照如下操作步驟來進行:
逐一單擊“開始”、“運行”項目,打開系統的運行對話框,在其中輸入字符串命令“cmd”,單擊“確定”按鈕后,將系統切換到MS-DOS工作狀態;
在DOS命令行中,輸入字符串命令“for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1 ”,單擊回車鍵后,系統就會自動對所有的DLL文件進行依次注冊,一旦出現注冊失敗的話還會給出相應的失敗提示。為了日后方便對所有DLL文件重新注冊,我們還可以將上面的字符串命令寫入到批處理文件中保存起來,下次需要對所有DLL文件重新注冊時只需要雙擊對應的批處理文件就能解決問題了。