如何用Python列出进程加载的所有dll?
我想列出一个进程加载的所有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')