【发布时间】:2017-04-04 14:13:13
【问题描述】:
我想使用 Python 获取 Windows 上 每个 进程加载的所有 DLL 的列表
在 PowerShell 中,我可以做到:
Get-Process | Select -Expand Modules
有没有一种方法可以在 Python 中使用 Windows api 执行此操作,而无需生成命令 shell(例如,我想避免使用 subprocess.popen(...))?
【问题讨论】:
-
你需要ctypes,还是依赖PyWin32好吗?
-
老实说,我对 python 的熟悉程度不足以解决您的问题。我只是希望能够看到所有进程(无论是否是 python 程序)加载的 DLL。
-
PyWin32 是一个封装了 Windows API 和 COM 的扩展模块包。这是一个相当大的依赖关系,因此对于应该更轻量级的脚本,您可能更喜欢使用 ctypes,即使它需要更多的工作来定义 WinAPI 结构和函数原型。
-
在这种情况下,ctypes。我正在改进
win32pdh以获取所有进程信息,所以我认为我可以为这些进程的 DLL 使用同一个库。 -
win32pdh是 PyWin32 的一部分。
标签: python windows dll process