LoadLibrary和GetModuleHandle
0x01 区别
LoadLibrary是把一个模块映射进调用进程的地址空间,需要时增加引用计数,每调用一次,引用计数增加一,需要通过相同步骤地调用FreeLibrary来减少引用次数,当为0时,系统卸载DLL。
GetModuleHandle是返回一个已经映射进调用进程地址空间的模块的句柄,不增加引用计数。
HMODULE WINAPI LoadLibrary( __in LPCTSTR lpFileName );
HMODULE WINAPI GetModuleHandle( __in_opt LPCTSTR lpModuleName );
0x02 使用
先用GetModuleHandle调用进程,如果失败,再用LoadLibrary可以判断引用的DLL是否已经被加载。