Windows下怎么查看dll被哪个进程调用?

Windows下怎么查看dll被哪个进程调用?,第1张

*** 作系统中的dll文件程序调用无法直接删除,只能通过特殊方式进行删除,步骤如下:\x0d\x0a1、在运行里输入cmd进入命令提示符。\x0d\x0a2、输入命令tasklist /m >123.txt\x0d\x0a查看dll文件是哪个程序在调用,结束该程序或进程,然后删除dll文件。\x0d\x0a3、如果查出来的占用dll文件的进程是svhost.exe进程,这个进程一般系统有7、8个之多,则可以根据PID进程号来结束进程,然后删除dll文件。

分类: 电脑/网络 >>软件

问题描述:

一个应用程序在运行时,可能会调用多个DLL文件,那么,我们怎么知道它究竟调用了那些DLL文件呢?

谢谢大家了.

解析:

depends只能得到软件中隐式链接的Dll库,也就是用lib关联的Dll模块,无法显示显式链接的Dll模块,也就是用LoadLibrary函数导入的Dll函数。

可以将程序运行时加载的所有模块列出来的软件,网上有很多可以免费下载的。

我曾在无聊时也做了一个这样的程序,可以列出系统中运行的所有进程的树状关系(进程树)、每个进程启动时间、消耗的CPU时间、CPU占用率以及其所加载所有模块等信息。如果你需要的话,可以EMAIL一个给你。

当你运行的程序正在调用某个dll文件时,正在使用的文件是当然不可能给你删除的。一般会提示:另一个程序正在使用此文件 or 拒绝访问等..那么,到底是哪个程序在调用这个dll文件呢。一个方法可以把那个程序很容易的找出来。。在运行里输入cmd进入命令提示符。然后输入命令:tasklist /mc:\123.txt不要急。到C盘下面去找一找,是不是有了一个123.txt?(当然。你可以自己设定文件的输出路径,名字,甚至后缀。但要是文本文件哦。。)打开他。里面就是目前运行的各个程序正在调用的dll文件。找出来了后问题就好办多了。打开任务管理器。把对应的那个程序给关了。。就可以顺利删除了。。那就不必进安全模式,进DOS那么麻烦了。。。当然。有些应用程序是以服务形式运行的。那么你就有可能查到的是svhost.exe但是。里面有很多个哦。。这个也好办。仍然打开命令提示符。输入tasklist /svc,当然,你也可以把他输出为文本文件,如tasklist /svcC:\234.txt。看到了吗?每个svchost.exe后面是不是对应有一个ID呢?有了ID一对照也可以知道是哪个服务了。。如果是可关的。就关了他。。不过记住。。系统进程可别乱关哦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7788452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存