倍可親

回復: 2
列印 上一主題 下一主題

從管理DLL文件入手 提升Windows運行效率

[複製鏈接]

1萬

主題

1萬

帖子

1萬

積分

八級貝殼核心

倍可親終生會員(廿一級)

Rank: 5Rank: 5

積分
18033
跳轉到指定樓層
樓主
kent 發表於 2007-3-8 07:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
對於菜鳥級的電腦玩家,我們並不需要弄清DLL文件的真實面貌;但如果我們自己的電腦操作水平更上一個台階的話,那就必須善於管理、利用DLL文件,因為巧妙地用好DLL文件可以讓系統運行效率更高!這不,本文下面提供的三則DLL文件管理技巧,可以讓系統實現意想不到的運行效果!
  1、逼迫DLL文件交出內存資源
  不少應用程序在啟動時需要調用某些DLL文件,這些DLL文件往往會佔用一定的內存資源,但遺憾的是當應用程序被使用完畢退出系統后,那些曾經被調用的DLL文件並不會隨程序關閉而自動交出它們所佔用的內存資源,這樣就容易造成內存資源的浪費,並且隨著運行的應用程序越多,系統內存資源就被消耗得越多,最終會影響系統的整體運行效率。那有沒有辦法逼迫那些已經過時的DLL文件,交出它們所佔有的內存資源,從而保證系統內存空間始終處於「乾淨」狀態呢?答案是肯定的,我們可以按照如下步驟來逼迫DLL文件交出內存資源:
  依次單擊「開始」/「運行」命令,在彈出的系統運行對話框中,輸入字元串命令「regedit」,單擊「確定」按鈕后,打開系統的註冊表編輯界面;
  在註冊表編輯界面中,找到其中的註冊表分支HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer(如圖1所示);

圖 1
  在對應「Explorer」子鍵的右側窗口區域中,檢查一下是否有「AlwaysUnloadDLL」字元串鍵值的身影,如果沒有的話,那可以用滑鼠右鍵單擊右側窗口區域中的空白位置,並從彈出的快捷菜單中依次執行「新建」、「字元串值」命令,然後將新創建好的字元串值名稱設置為「AlwaysUnloadDLL」,再用滑鼠雙擊「AlwaysUnloadDLL」鍵值,在其後界面的「數值數據」文本框中直接輸入數字「1」,並單擊「確定」按鈕,最後刷新一下系統註冊表,這樣就能逼迫那些過時的DLL文件交出曾經佔有的系統內存資源了。
 2、逼迫DLL文件交出空間資源
  在頻繁地安裝與卸載應用程序之後,系統中的有些DLL文件就會變成無用的垃圾文件,不過這些垃圾文件仍然會佔用系統的硬碟空間資源,時間一長越來越多的垃圾DLL文件就會消耗越來越多的硬碟空間資源。為此,我們可以通過下面的操作步驟,來將無用的垃圾DLL文件刪除掉:
  依次單擊「開始」/「運行」命令,在彈出的系統運行對話框中,輸入字元串命令「regedit」,單擊「確定」按鈕后,打開系統的註冊表編輯界面;
  用滑鼠逐一展開其中的註冊表分支HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls(如圖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%\system32\zipfldr.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文件重新註冊時只需要雙擊對應的批處理文件就能解決問題了。

4

主題

289

帖子

63

積分

貝殼新手上路

Rank: 2

積分
63
沙發
lyd5586 發表於 2007-3-22 11:16 | 只看該作者
不錯
回復 支持 反對

使用道具 舉報

2

主題

2382

帖子

499

積分

貝殼網友三級

留學博士后(十二級)

Rank: 3Rank: 3

積分
499
3
wssandy 發表於 2007-3-22 20:48 | 只看該作者
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-3 17:45

快速回復 返回頂部 返回列表