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

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

*** 作系统中的dll文件程序调用无法直接删除,只能通过特殊方式进行删除,步骤如下:

1、孝汪镇在运行里输入cmd进入命令提示符。

2、输入命令tasklist /m >陵碰 123.txt

查看dll文件是哪个程序在调用,结束该程序或进程,然后删除dll文件。

3、如果查出来的占用dll文件的进程是svhost.exe进程,这个进程一般系统有7、8个之巧粗多,则可以根据PID进程号来结束进程,然后删除dll文件。

::本程序仅用于XP查看进程使用的端口

@echo off

setlocal enabledelayedexpansion

echo.&echo 端口号 进程名称

echo.&ECHO TCP协议:

for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (

call :Assoc %%i TCP %%j

echo !TCP_Port! !TCP_Proc_Name!

)

echo.&ECHO UDP协议:

for /F "迹哪尺usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do (

call :Assoc %%i UDP %%j

echo !UDP_Port! !UDP_Proc_Name!

)

echo 请按任意键退出本程序。

pause>nul

:Assoc

for /F "tokens=2 delims=:" %%e in ("姿高%1") do (

set %2_Port=%%e

)

for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"缓袜`) do (

set %2_Proc_Name=%%~a

)

goto :eof

当你运行的程序正在调用某个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/12217338.html

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

发表评论

登录后才能评论

评论列表(0条)

保存