c++ - 如何知道给定的 DLL 是否被给定的进程加载?

标签 c++ winapi

<分区>

Possible Duplicate:
How to programmatically get DLL dependencies

在 Windows 上,在 C++ 程序中,我想知道给定的 DLL(我知道路径)是否由给定的外部进程(我知道 exe 的路径)加载,使用 win32 函数。 必须能够列出进程加载的所有 DLL,就像进程浏览器一样。

法比安

最佳答案

首先,您已获得要查找的进程的 ID。使用描述的 EnumProcesses 函数 here找到你想要的过程。有个不错的example提供以列出所有进程及其名称,您可以将其用作起点。

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

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

关于c++ - 如何知道给定的 DLL 是否被给定的进程加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1553603/

相关文章:

c++ - 生成具有一定熵的随机数序列

C++,OpenCV,尝试显示图像时出现此错误 "OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"

javascript - 另一个类的node-addon-api传递对象作为回调函数参数

c++ - 如何动态创建与其父控件具有相同视觉样式的控件?

c# - 卡在显示器上打开

c++ - 具有范围的随机数生成器? C++

C++将输入文件行解析为对象数组

winapi - 如何实时处理麦克风输入?

winapi - 将逻辑处理器映射到物理处理器

从 BYTE 到 DWORD 的转换