Windows查看文件占用情况、查看程序的dll依赖项_windows

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

文章目录

一、查看文件占用情况

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

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

Windows查看文件占用情况、查看程序的dll依赖项_钩子_02


Windows查看文件占用情况、查看程序的dll依赖项_windows_03

2、Handle.exe(Sysinternals工具包)

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

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

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

Windows查看文件占用情况、查看程序的dll依赖项_visual studio_04


Windows查看文件占用情况、查看程序的dll依赖项_visual studio_05


注意:该程序需要管理员权限运行。

二、查看程序的dll依赖项

1、depends

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

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

Windows查看文件占用情况、查看程序的dll依赖项_windows_06

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]

Windows查看文件占用情况、查看程序的dll依赖项_windows_07


Windows查看文件占用情况、查看程序的dll依赖项_文件占用_08

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

Windows查看文件占用情况、查看程序的dll依赖项_dll_09

4、FxKit_dumpbin(作者自己写的)

本人基于上面第3节中的Visual Studio的dumpbin.exe(命令行界面),增加了一个图形化窗口界面(WTL+VS2017),方便自己平时查看和操作。

Windows查看文件占用情况、查看程序的dll依赖项_visual studio_10


Windows查看文件占用情况、查看程序的dll依赖项_visual studio_11