天天看點

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;

繼續閱讀