【夏虫语冰】Windows查看文件占用情况、查看程序的dll依赖项

在这里插入图片描述

《小时候》

小时候,跟着大人们去卖菜,晚上吃剩下的珍珠白玉汤。
小时候,跟着大人们去工地,在一个角落拿砖块当乐高。
小时候,跟着大人们贴春联,用多余的浆糊拌糖尝。

长大后,带着小不点去公园,捉蝌蚪摘草莓。
长大后,带着小不点去超市,喝奶茶看电影。
长大后,带着小不点去书店,买贴纸看绘本。

小沐: 最近时间过的好慢。
戈戈: 想起从前的你。
小沐: 脑袋空空的。
戈戈: 以后就叫你小浆糊吧。

在这里插入图片描述

“人生若只如初见,何事秋风悲画扇?等闲变却故人心,却道故人心易变。”

一、查看文件占用情况

1、资源监视器(系统自带)

  1. 打开Windows任务管理器,选择“性能”
  2. 单击下部的“资源监视器”
  3. 选择“CPU”,在下部可以看到“关联的句柄”搜索框
  4. 在该搜索框中输入要删除的文件名回车
  5. 选择鼠标右键子菜单“结束进程”

在这里插入图片描述
在这里插入图片描述

2、Handle.exe(Sysinternals工具包)

官网地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/handle

曾经想知道哪个程序打开了特定的文件或目录? 现在,你可以了解一下。 Handle 是一个实用工具,它显示有关系统中任何进程的打开句柄的信息。 可以使用它查看打开文件的程序,或查看程序的所有句柄的对象类型和名称。还可以从 Sysinternals 获取此程序的基于 GUI 的版本,即进程资源管理器。

handle.exe 文件名(或部分文件名)

在这里插入图片描述
在这里插入图片描述
注意:该程序需要管理员权限运行。

二、查看程序的dll依赖项

1、depends

官网地址:
http://dependencywalker.com/

Dependency Walker 是一个免费实用程序,它可以扫描任何 32 位或 64 位 Windows 模块(exe、dll、ocx、sys 等)并构建所有依赖模块的层次树图。对于找到的每个模块,它列出了该模块导出的所有函数,以及这些函数中的哪些函数实际上被其他模块调用。另一个视图显示最少的所需文件集,以及每个文件的详细信息,包括文件的完整路径、基地址、版本号、机器类型、调试信息等。

在这里插入图片描述

2、listdlls(Sysinternals工具包)

官网地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/listdlls

ListDL 是一个实用工具,用于报告加载到进程中的 DLL。 可以使用它列出加载到所有进程中、加载到特定进程中的所有 DLL,或列出加载了特定 DLL 的进程。 ListDL 还可以显示 DLL 的完整版本信息(包括其数字签名),并可用于扫描进程以扫描无符号 DLL。

listdlls [-r] [-v | -u] [processname|pid]
listdlls [-r] [-v] [-d dllname]

在这里插入图片描述
在这里插入图片描述

3、dumpbin(Visual Studio)

官网地址:
https://docs.microsoft.com/zh-cn/cpp/build/reference/dumpbin-reference?view=msvc-170

Microsoft COFF Binary File 转储器 (DUMPBIN.EXE) 显示有关 (COFF) 二进制文件的通用对象文件格式的信息。 你可以使用 DUMPBIN 来检查 COFF 对象文件、COFF 对象的标准库、可执行文件和动态链接库 (Dll) 。

dumpbin.exe /all 需要检测的程序.exe

在这里插入图片描述

4、FxKit_dumpbin(作者自己写的)

本人基于上面第3节中的Visual Studio的dumpbin.exe(命令行界面),增加了一个图形化窗口界面(WTL+VS2017),方便自己平时查看和操作。
在这里插入图片描述
在这里插入图片描述
下载地址:
https://download.csdn.net/download/hhy321/12393305?spm=1001.2014.3001.5503

三、其他

1、强制删除WPS 遗留的qingnse64.dll

qingnse64.dll被强制注入到桌面窗口管理器中的进程中,因此只要系统开启桌面窗口管理器就无法删除这个动态链接库。

首先在任务管理器种,找到进程explorer.exe,鼠标右键结束进程。
在这里插入图片描述
接着在任务管理器中选择,文件-运行新任务,powershell
在这里插入图片描述

在powershell中执行如下的删除命令,回车并确认后,即可成功删除。

Remove-Item C:\Users\tomcat\AppData\Local\Kingsoft\WPS Office\xxx\office6

在这里插入图片描述


结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

“白酒新熟山中归,黄鸡啄黍秋正肥。仰天大笑出门去,我辈岂是蓬蒿人。”

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 你可以使用 Dependency Walker 工具来查看程序依赖的库。以下是使用 Dependency Walker 的步骤: 1. 下载并安装 Dependency Walker 工具。 2. 打开 Dependency Walker,点击 File -> Open,选择需要查看依赖关系的程序。 3. 工具会自动分析程序依赖关系,并在左侧窗口显示。 4. 可以展开依赖关系树以查看每个依赖依赖的库。 5. 可以对每个依赖双击以查看其详细信息,包括库的路径、导出函数等。 注意,Dependency Walker 只能查看静态依赖关系,即程序编译时就确定的依赖关系。如果程序使用了动态链接库,还需要使用其他工具来查看动态依赖关系。 ### 回答2: 在Windows系统中,我们可以使用多种方法来查看程序依赖的库。以下是几种常见的方法: 1. 使用“任务管理器”:打开“任务管理器”,在“进程”选卡中找到目标程序的进程,然后右键点击该进程,选择“打开文件位置”。在打开的文件夹中,可以看到程序依赖的动态链接库(DLL文件。 2. 使用“依赖关系查看器”:依赖关系查看器是Windows中的一个工具,用于查看程序依赖的库。首先,打开依赖关系查看器,然后选择“文件”菜单中的“打开”,浏览到目标程序的可执行文件,选择并打开它。之后,依赖关系查看器将显示出程序依赖的所有库。 3. 使用命令行工具:在命令提示符中,可以使用"dumpbin"命令来查看程序依赖库。首先,打开命令提示符,然后导航到目标程序所在的目录。接下来,执行以下命令:dumpbin /dependents 程序名。这将列出程序依赖的所有库文件及其路径。 4. 使用第三方工具:还有一些第三方工具可以用来帮助查看程序依赖库,例如Dependency Walker、PE Explorer等。这些工具通常提供更详细的依赖关系信息,包括库的版本、函数导入等。 通过这些方法,我们可以方便地查看程序依赖的库,对于解决库缺失或版本不匹配的问题非常有帮助。 ### 回答3: 在Windows系统中,可以通过以下几种方式来查看程序依赖的库。 1. 使用Dependency Walker工具:Dependency Walker是一款常用的依赖分析工具,它可以用来查看程序依赖的动态链接库(DLL),以及它们之间的依赖关系。只需要将要检查的程序拖放到Dependency Walker的窗口中,它会自动展示程序依赖的库文件。 2. 使用Process Explorer工具:Process Explorer是一款高级任务管理器,可以显示系统中所有运行的进程和他们的相关信息。通过打开Process Explorer,找到对应的程序进程,右键点击进程并选择"Properties",然后在“Image”选卡下的“String”部分可以查看程序依赖的库文件路径。 3. 使用Powershell命令:在Windows系统中,可以使用Powershell来查看程序依赖的库。打开Powershell窗口,运行以下命令:`Get-Process <程序名称> | Select-Object -ExpandProperty Modules`。替换<程序名称>为要查看程序的名称,执行命令后,将显示程序依赖的库文件及其路径。 无论是使用哪种方式查看程序依赖的库,都可以帮助我们了解程序所需要的动态链接库文件。这对于识别和解决程序依赖错误或者缺失的问题是非常有帮助的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值