感谢您抽出宝贵时间阅读本文。
基本情况是,我正在使用EnumProcessModulesEx枚举已加载进程中的所有模块。我已经验证了我使用GetCurrentProcess获得的过程是正确的(通过ID)。我似乎得到了所有已加载的模块,除了我想要的模块!它是一个C#DLL,仅在调用C#DLL函数时加载。在运行枚举函数之前,我确保已加载DLL。这个C#DLL有没有出现的原因?
在我的C ++代码中加载其他几个C#DLL之后,我也把这个枚举。似乎也找不到那些。所有这些C#DLL都是动态加载的。我认为它应该无关紧要因为a)所有内容都被映射到进程地址空间,并且b)我有一个C ++ DLL注入(动态加载?),我可以发现就好了。我的目标是能够挂钩C#DLL函数,因此能够在这个项目中找到这些C#DLL是必须的。
再次感谢大家的任何提示或见解! =)
答案 0 :(得分:1)
EnumProcessModulesEx
不会枚举.Net DLL。它只枚举本机DLL。
您可以使用当前GetAssemblies
的{{1}}方法枚举.Net DLL。