我想从一个模块获取基地址,我曾尝试使用GetModuleHandleEx,并且工作正常!但是,我只能从模块的基地址:kernel32.dll
和user32.dll
等...来自内部.dll的GetModuleHandle
我真的需要从其他模块之一获得基地址,我的意思是,获取基地址从模块“notepad.exe”。我不知道我是否解释得很好,希望是的。
最好的问候;
我想从一个模块获取基地址,我曾尝试使用GetModuleHandleEx,并且工作正常!但是,我只能从模块的基地址:kernel32.dll
和user32.dll
等...来自内部.dll的GetModuleHandle
我真的需要从其他模块之一获得基地址,我的意思是,获取基地址从模块“notepad.exe”。我不知道我是否解释得很好,希望是的。
最好的问候;
你只需要调用EnumProcessModules()
。
的GetModuleHandleEx
函数检索处理您的应用程序的加载的模块,该kernel32.dll
和user32.dll
是总是出现在你的应用程序。因为那个DLL可以正常工作。
从MSDN:
GetModuleHandleEx检索用于 指定模块模块句柄并且除非 GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 被递增 模块的引用计数。 该模块必须有调用进程加载的 。
请让你的问题更清楚地帮助你。
好吧,我会的! – 2011-03-26 04:20:17
如果你以往任何时候都需要进行检查,你应该使用DBGHELP或toolhelp32其他进程,在这种情况下toolhelp32是最好的,使用EnumProcessModules
,MSDN有使用它的一个很好的例子:http://msdn.microsoft.com/en-us/library/ms682621(v=vs.85).aspx
Lolololol,完美的作品! – 2011-03-26 21:28:00