BOOL DllRegisterServer(LPCTSTR lpszFileName, BOOL bUnregister)
{
typedef HRESULT (WINAPI * FREG)();
BOOL bRet = FALSE;
HMODULE hDLL = ::LoadLibrary(lpszFileName);
if (NULL == hDLL)
return FALSE;
CHAR * lpszFuncName;
if (!bUnregister)
lpszFuncName = "DllRegisterServer";
else
lpszFuncName = "DllUnregisterServer";
FREG lpfunc = (FREG)::GetProcAddress(hDLL, lpszFuncName);
if (lpfunc != NULL)
{
lpfunc();
bRet = TRUE;
}
::FreeLibrary(hDLL);
return bRet;
}
BOOL DllRegisterServer(LPCTSTR lpszFileName)
{
return DllRegisterServer(lpszFileName, FALSE);
}
BOOL DllUnregisterServer(LPCTSTR lpszFileName)
{
return DllRegisterServer(lpszFileName, TRUE);
}
注册和卸载动态库
最新推荐文章于 2022-02-13 15:54:13 发布