[转载]手动解决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,如需转载请自行联系原作者

相关文章
|
Linux
【杂七杂八】简单粗暴处理linux下.nsf导致的目录无法删除
【杂七杂八】简单粗暴处理linux下.nsf导致的目录无法删除
250 0
源文件与模块生成时的文件不同,是否希望调试器使用它?如何解决
源文件与模块生成时的文件不同,是否希望调试器使用它?如何解决
怎么删除360base64.dll,这个方法百分百管用
怎么删除360base64.dll,这个方法百分百管用
357 0
|
7月前
|
C语言
日常知识点之编译运行时识别头文件目录或者链接库目录设置
日常知识点之编译运行时识别头文件目录或者链接库目录设置
89 0
|
7月前
|
存储 C#
【Untiy 3D】C#中文件夹与读写文件操作详解(附测试代码 超详细)
【Untiy 3D】C#中文件夹与读写文件操作详解(附测试代码 超详细)
77 0
|
7月前
|
Linux Shell C语言
Linux编程之删除文件时排除某个文件
Linux编程之删除文件时排除某个文件
81 0
|
C++
地平线5打不开(找不到XINPUT1_3.dll,无法继续执行代码)
地平线5打不开(找不到XINPUT1_3.dll,无法继续执行代码)
330 0
地平线5打不开(找不到XINPUT1_3.dll,无法继续执行代码)
|
编译器 开发工具 Windows
VS2008 未找到编译器可执行文件 csc.exe【当网上其他方法试玩了之后不起作用的时候再用这个方法】
被公司派遣到中国海洋石油惠州炼化公司做项目,做的是生产管理,来了发现他们的项目结构简直烂的要命,和同学们写的毕业设计差不多,然后开发工具用的是vs2008,我电脑是安装了vs2005和vs2010,vs2012就是没有安装vs2008,在安装vs2008的时候那是一番折腾好长时间,然后把vs2008安装好了打开项目代码,生成解决方案发现报了好多错,然后一一解决,最奇怪的是VS2008 未找到编译器可执行文件 csc.exe,我把所以路径都配好了,并且在dos环境下执行csc.exe都可以执行,环境变量路径设置的也么有问题,就是很奇怪重启机子打开项目还是找不到csc.exe
196 0
BAT中删除整个目录的办法
BAT中删除整个目录的办法
462 0
|
Linux
QT应用编程: 删除指定目录和文件
QT应用编程: 删除指定目录和文件
657 0