来自内部.dll的GetModuleHandle

时间:2011-03-26 02:33:31

标签: delphi winapi api module

我想从一个模块获取基地址,我尝试使用GetModuleHandleEx,并且工作!但是,我可以从模块中获取基地址:kernel32.dlluser32.dll等...

我真的需要从另一个具有另一个进程的模块中获取基地址,我的意思是从模块“notepad.exe”获取基地址。我不知道我是否解释得很好,希望是的。

最好的问候;

3 个答案:

答案 0 :(得分:4)

GetModuleHandleEx函数检索应用程序已加载模块的句柄,kernel32.dlluser32.dll 始终存在于您的应用中。因为那个dll工作正常。

来自MSDN的

  

GetModuleHandleEx检索的模块句柄   指定模块并递增   模块的引用计数除非   GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT   已指定。 该模块必须具备   已被调用过程加载。

请更清楚地向您提问,以帮助您。

答案 1 :(得分:0)

如果您需要检查其他进程,则应使用dbghelp或toolhelp32,在这种情况下,toolhelp32最好,使用EnumProcessModules,msdn有一个使用它的好例子:http://msdn.microsoft.com/en-us/library/ms682621(v=vs.85).aspx

答案 2 :(得分:0)

您只需致电EnumProcessModules()