2009-10-12 161 views
1

可能重复:
How to programmatically get DLL dependencies如何知道给定的进程是否加载了给定的DLL?

在Windows上,C++程序,我想知道,如果给定的DLL(我知道路径)由给定的外部进程加载(我知道exe文件的路径),使用win32函数。 如进程管理器那样,必须可以列出进程加载的所有DLL。

法比安斯基

+4

与此差不多? http://stackoverflow.com/questions/450039/how-to-programmatically-get-dll-dependencies – vpram86 2009-10-12 09:40:38

+0

450039谈论静态分析这一个关于dyanmic,但450039的答案是两种情况。 – 2009-10-12 09:53:44

回答

3

首先,您已获得您正在查找的流程的ID。使用描述here的EnumProcesses功能找到您想要的过程。提供了一个不错的example列出所有进程及其名称,您可以用作起点。

作为第二步,您可以列出所有模块,即每个进程加载的DLL。 使用EnumProcessModules功能。

This example主要是你想要的,你只需要添加一些更多的检查代码来过滤你的过程和你的模块。

相关问题