Reputation: 35750
I want to list all the dlls loaded by a process, like this:
How could I get the information with Python on Windows?
Upvotes: 14
Views: 10566
Reputation: 5538
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.
Upvotes: 2
Reputation: 384
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)
Upvotes: 20
Reputation: 10363
Using listdlls:
import os
os.system('listdlls PID_OR_PROCESS_NAME_HERE')
Upvotes: 9