一招斩断残留的程序文件尾巴
2010年05月06日


卸载软件后,或多或少地会在机器上残留下一些无用的文件,如DLL文件,十分讨厌。更麻烦的是,经常会出现无法删除这些残留的DLL文件的情况。原因是该DLL文件正在被当前系统运行的进程调用。知道了原因后我们就可以很方便地处理了,方法是先关闭掉调用该DLL文件的进程,再将该DLL文件删除就可以了。

以目前比较流行的下载软件迅雷为例,当我们用迅雷自带的卸载程序进行卸载后,我们发现在迅雷的安装目录下的子目录中(ThunderNetworkThunderComDlls)有一个叫XunLeiBHO_002的DLL文件无法直接删除。不过怎么才能知道是哪个进程调用了这个DLL文件呢?其实很简单,用Windows XP自带的“tasklist”命令结合“/M”参数就行了,完成后关闭掉该进程,再删除掉此DLL文件就可以了。


“Tasklisk”这个命令有很多参数,具体的完全帮助可以在“命令提示符”窗口中用““Tasklist /?”查询。其中有一个参数叫“/M[Module]”,具体格式为:“Tasklist /M[Module]”这个参数的意思为:列出调用指定的DLL模块的所有进程,如果没有指定模块名,显示每个进程加载的模块。有了这个好“帮手”后我们就可以很方便的查出XunLeiBHO_002.DLL被哪个进程调用了。

具体实例如下:

运行CMD打开“命令提示符”窗口,然后输入“Tasklist /M XunLeiBHO_002.DLL”,回车后程序就会返回与该DLL模块相关的进程信息。

原来XunLeiBHO_002.dll正在被Explorer.exe调用。找到了调用进程我们的第一步工作就完成了,接下的工作就是删除该文件了。按组合键“Ctrl+Alt+Delete”键调出“Windows任务管理器”,在“进程”标签下找到“Explorer.exe”,结束该进程。

这时你会发现没有桌面了?这可怎么删除啊?不用担心,选择菜单“文件→新建任务(运行…)”,然后在弹出的文件选择框中进入DLL所在目录并完成删除,完成后重新运行“Explorer.exe”任务就能恢复桌面显示。

小知识:PID列代表了各进程的进程ID,简单来说,PID是各进程在系统中的“身份标识”。

 


Top