天天看点

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

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。

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

if (hLib != NULL)

       FreeLibrary(hLib);

       hLib = NULL;

继续阅读