(2)LoadLibraryEx函数也可以加载指定的DLL模块。HMODULE LoadLibrary( LPCTSTR lpFileName // file name of module要加载的dll名 );
参数dwFlags取值如下:HMODULE LoadLibraryEx(
LPCTSTR lpFileName, // file name of module 要加载的DLL名 HANDLE hFile, // reserved, must be NULL保留必须使用NULL DWORD dwFlags // entry-point execution option 指定加载模块时采取的动作
);
附上更啰嗦的说明:DONT_RESOLVE_DLL_REFERENCES //不调用DLLMAIN函数。系统也不加载指定模块引用的其他模块 LOAD_LIBRARY_AS_DATAFILE //系统将指定的模块作为数据文件映射到调用进程的虚拟地址空间中 LOAD_WITH_ALTERED_SEARCH_PATH //使用替代搜索次序
附上更啰嗦的说明:HMODULE GetModuleHandle(
LPCTSTR lpModuleName // module name 要加载的DLL文件名
);
FARPROC GetProcAddress(
HMODULE hModule, // handle to DLL module LPCSTR lpProcName // function name
);
BOOL FreeLibrary(
HMODULE hModule // handle to DLL module DLL模块句柄
);//成功返回TRUE,失败返回FALSE。
FreeLibraryAndExitThread( )在释放DLL模块后终止调用线程。
VOID FreeLibraryAndExitThread(
HMODULE hModule, // handle to the DLL module DLL模块句柄 DWORD dwExitCode // exit code for thread
);
The FreeLibraryAndExitThread function is implemented as: