C++ 操作DLL的函数 Loadlibrary GetProcAddress FreeLibrary

353 阅读1分钟

LoadLibrary(" 文件名 "): 返回得到的模块句柄,可以加载一个动态连接库或exe文件。

例:

  HINSTANCE hLib = NULL;

  string path = g_strExeFilePath + "\\xx.dll";
LPCSTR strPath = path.c_str();
hLib = LoadLibrary(strPath);
if (hLib == NULL)
{
printf("LoadLibraryA()失败!  error = %d,{%d}", GetLastError(), __LINE__);
return FALSE;
}
else {
printf("LoadLibraryA()开始");

       }

GetProcAddress(Hinstance,lpname): 用来获取指定的动态连接库函数的地址。

Hinstance: 为由LoadLibrary返回的模块句柄 ,lpname为文件名 / 函数名,返回值,成功返回动态连接库的地址,失败返回NULL

FreeLibraryHinstance):Hinstance为由LoadLibrary返回的模块句柄 , 功能是:释放动态连接库!

if (hLib != NULL)
{
FreeLibrary(hLib);
hLib = NULL;
}