Windows核心编程2-丹进程获取自身模块基地址的三种方法1234567891011121314151617181920#include <tchar.h>extern "C" const IMAGE_DOS_HEADER __ImageBase;VOID DumpModule(VOID) { //法一 HMODULE hModule = ::GetModuleHandle(NULL); _tprintf(TEXT("0x%x\r\n"),(LONG)hModule); //法二 _tprintf(TEXT("0x%x\r\n"), (LONG)&__ImageBase); //法三 hModule = NULL; ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (PCTSTR)DumpModule, &hModule); _tprintf(TEXT("0x%x\r\n"), hModule); return;};int _tmain(int argc,char* argv[]) { UNREFERENCED_PARAMETER(argc); UNREFERENCED_PARAMETER(argv); DumpModule(); return 0;};