如何用Python列出进程加载的所有dll?

12 投票
3 回答
9700 浏览
提问于 2025-04-16 15:07

我想列出一个进程加载的所有dll文件,像这样:

这里插入图片描述

我该如何在Windows上用Python获取这些信息呢?

3 个回答

1

如果你已经安装了 pywin32,那么可以这样做:

import win32api, win32process
for h in win32process.EnumProcessModules(win32process.GetCurrentProcess()):
    print(win32api.GetModuleFileName(h)

可以使用一些函数,比如 win32api.GetFileVersionInfo().EnumResourceNames(),在dll文件的路径上获取dll的属性数据。

17

使用这个叫做 psutil 的工具包,你可以找到一个可以在不同设备上都能用的解决方案!:-)

# e.g. finding the shared libs (dll/so) our python process loaded so far ...
import psutil, os
p = psutil.Process( os.getpid() )
for dll in p.memory_maps():
  print(dll.path)
9

使用 listdlls

import os
os.system('listdlls PID_OR_PROCESS_NAME_HERE')

撰写回答