通過GetModuleHandle(NULL, .., .. ); 只能獲取到 EXE文件所在路徑,如果需要獲取DLL路徑怎麼辦?
有如下兩種辦法:
GetDllModulePath1. 從DllMain(hModule, …)中獲取DLL句柄,並傳入GetModuleHandle();
但有些DLL被封裝過的很難找到hModule,如: MFC的DLL, vstest的UnitTest DLL 等。
2. 變量 IMAGE_DOS_HEADER __ImageBase 可以轉換為 hModule,傳入GetModuleHandle()可得到DLL文件路徑。