[转载]手动解决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文件的目的。




  本文转自loose_went博客园博客,原文链接:http://www.cnblogs.com/michaelxu/archive/2010/02/22/1670972.html,如需转载请自行联系原作者

相关文章
|
存储 iOS开发 Windows
利用Dism修复系统步骤,以及dism找不到源文件解决方案
利用Dism修复系统步骤,以及dism找不到源文件解决方案
4214 0
利用Dism修复系统步骤,以及dism找不到源文件解决方案
|
8月前
怎么删除360base64.dll,这个方法百分百管用
怎么删除360base64.dll,这个方法百分百管用
219 0
|
9月前
|
安全 数据库 Windows
待解决问题之加载dll错误
待解决问题之加载dll错误
|
10月前
|
编译器 开发工具 Windows
VS2008 未找到编译器可执行文件 csc.exe【当网上其他方法试玩了之后不起作用的时候再用这个方法】
被公司派遣到中国海洋石油惠州炼化公司做项目,做的是生产管理,来了发现他们的项目结构简直烂的要命,和同学们写的毕业设计差不多,然后开发工具用的是vs2008,我电脑是安装了vs2005和vs2010,vs2012就是没有安装vs2008,在安装vs2008的时候那是一番折腾好长时间,然后把vs2008安装好了打开项目代码,生成解决方案发现报了好多错,然后一一解决,最奇怪的是VS2008 未找到编译器可执行文件 csc.exe,我把所以路径都配好了,并且在dos环境下执行csc.exe都可以执行,环境变量路径设置的也么有问题,就是很奇怪重启机子打开项目还是找不到csc.exe
148 0
|
11月前
|
Python
Python 使用pyinstaller打包程序失败提示找不到c盘的某个dll文件解决方法,FileNotFoundError: [WinError 2] 系统找不到指定的文件
Python 使用pyinstaller打包程序失败提示找不到c盘的某个dll文件解决方法,FileNotFoundError: [WinError 2] 系统找不到指定的文件
191 0
BAT中删除整个目录的办法
BAT中删除整个目录的办法
427 0
“由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题等”解决方案
“由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题等”解决方案
873 0
C++ 编写DLL文件给易语言调用
  摸索了两天了,终于解决了所有问题,在此跟大家分享。   需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def   直接上代码:   头文件如下: 1 #ifndef _DLL_DEMO_H_ 2 #define _DLL_DEMO_H_ 3 #ifdef DL...
2095 0
|
Windows
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
415 0
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。
原文:C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。 当某个程序集文件被载入AppDomain,该文件在AppDomain.Unload之前是不能被替换和删除的。
2296 0

热门文章

最新文章