How to list all dlls loaded by a process with Python?
With pywin32 already installed do like:
import win32api, win32process
for h in win32process.EnumProcessModules(win32process.GetCurrentProcess()):
print(win32api.GetModuleFileName(h)
Use functions like win32api.GetFileVersionInfo()
, .EnumResourceNames()
... on the dll paths to get dll attribute data.
Using listdlls:
import os
os.system('listdlls PID_OR_PROCESS_NAME_HERE')
Using the package psutil it is possible to get a portable solution! :-)
# 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)