C++動態加載DLL調用方法


一、構建DLL路徑

  char szTmp[_MAX_PATH];    
  char* szPath = getcwd(szTmp, _MAX_PATH);//獲取當前工作目錄
  //構建dll路徑
 
strcat(szTmp, DLLNAME);
 
TCHAR wLocation[_MAX_PATH] = { 0 };
 
MultiByteToWideChar(0, 0, szTmp, _MAX_PATH, wLocation, _MAX_PATH * 2);
 

二、加載DLL

//dll資源加載  
HINSTANCE hActive = LoadLibrary(wLocation);

三、調用DLL中函數

typedef void (_stdcall *pfnGetStatus)(long*); 

bool CLASSNAME::IsActive()
{    
    long lStatus = 0;
    pfnGetStatus Func = (pfnGetStatus)GetProcAddress(hActive, "GetStatus");
    if(!Func)
    {    
        // Error;
    }
    else
    {
        Func(&lStatus);
    }
    return lStatus;
} 

四、釋放DLL

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM