对dll里开放接口的调用(一)

1.加载dll

const char gdllname[50] = "XXdll";
CDllM::CDllM(char* dllname)
:hLibSso(NULL)
{
	hLibSso = NULL;
    if (dllname)
    {
         hLibSso = LoadLibraryA(dllname);
    }
    else
    {
        hLibSso = LoadLibraryA(gdllname);
    }

	Init();
}

2.定义一个函数指针。

typedef char*  (*pf_GetCurrentUser)();

3.用刚定义的函数指针定义一个成员变量,并初始化此变量

	pf_GetCurrentUser m_pfGetCurrentUserId;
       。。。
	m_pfGetCurrentUserId = (pf_GetCurrentUser)GetAddres("GetCurrentUserId");

4.这样用的

m_DllManagerm_pfGetCurrentUserId() ;

5.用完以后要释放。

CDllM::~CDllM(void)
{
	if (hLibSso != NULL)
	{
		FreeLibrary(hLibSso);
		hLibSso = NULL;
	}

}
原文地址:https://www.cnblogs.com/chunyou128/p/2221927.html