天天看點

手動解決dll檔案無法删除的終極方法!(轉)

相信大家都遇見過:在删除一些軟體的時候彈出某某檔案正在運作或磁盤寫保護不能删除這樣的報錯提示吧。而常常删除不掉的都一些字尾為.dll的檔案。到底這個dll檔案是什麼檔案,如何才能知道是哪些程式在調用這個dll檔案呢?

[基礎理論]

dll檔案英文名稱為Dynamic Linking Library,以下簡稱dll,中文名字"動态連結程式庫"檔案。在Windows中,許多應用程式并不是一個完整的可執行檔案,它們被分割成一些相對獨立的動态連結庫,即dll檔案,放置于系統中。當我們執行某一個程式時,相應的dll檔案就會被調用。一個應用程式可有多個dll檔案,一個dll檔案也可能被幾個應用程式所共用。比如,假設系統中有一dll具備了與遠端系統進行網絡聯接的功能,我們假設其名稱為Network.dll,如果有另外一個應用程式想使用該功能,則這個程式隻需在執行時與Network.dll進行動态連結(Dynamic Linking),就可以運用Network.dll的網絡聯接功能來實作遠端聯接系統。簡單地說,dll的特性是:

1、dll本身無法自行執行,必須靠其他程式調用。

2、dll檔案都具有一定的功能。

3、在系統剛建立時 (如剛裝好Windows時),系統中即存在有一定數量的dll,而某些應用程式亦會将自已所需的dll添至系統中,導緻dll的數量随應用程式的增加而增加。

既然知道了dll檔案的概念和特性,那麼怎麼才能解決删除難這個問題呢?

雖然解決這個問題的方法有很多種,如用軟體unlocker來删除。

這裡介紹的是手工删除方法dll檔案的方法:

因為dll檔案的特性注定了它可能被多個軟體調用,這也是dll檔案為什麼删除不掉的原因——正在使用的檔案是當然不可能給你删除的。那麼到底是哪個程式在調用這個dll檔案呢?如何才能删除這個dll檔案呢?下面就手動删除dll檔案的方法。

Step 1.在運作裡輸入cmd進入指令提示符。

step 2.然後輸入指令tasklist /m>c:\listdll.txt回車後,在C槽下會出現一個listdll.txt文本檔案,這個檔案裡所示列出了目前運作的各個程式正在調用的dll檔案。在用CTRL+F彈出查找框,輸入自己要删除的的dll檔案,查找出是哪個程式在調用這個dll檔案。

step 3.CTRL+ALT+DEL打開Windows資料總管,結束占用需要删除dll檔案的程式或着程序,這時再去删除這個dll檔案就很輕松了。

step 4.如果查出來的占用dll檔案的程序是svhost.exe檔案/程序,這個程序一般系統有7、8個至多,到底是哪個svhost.exe程序占用了這個dll檔案呢?這是可以在指令提示符下輸入tasklist /svc,當然,你也可以把它輸出為文本檔案tasklist /svc>C:\listsvc.txt。這時listsvc.txt檔案裡的svhost.exe會跟出所示的各個程序的PID号。這時就可以具體的根據PID号來結束程序,達到删除dll檔案的目的。

繼續閱讀