使用API函数注册
BOOL RegisterLibrary(LPCTSTR pszDllName)
{
BOOL bResult = FALSE;
if (pszDllName == NULL)
return bResult;
// load dll
HINSTANCE hLib = LoadLibrary(pszDllName);
if (hLib == NULL)
return bResult;
// get DllRegisterServer address
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib, _T("DllRegisterServer"));
if (lpDllEntryPoint != NULL)
{
if (S_OK == (*lpDllEntryPoint)())
bResult = TRUE;
}
FreeLibrary(hLib);
return bResult;
}
BOOL UnRegisterLibrary(LPCTSTR pszDllName)
{
BOOL bResult = FALSE;
if (pszDllName == NULL)
return bResult;
// load dll
HINSTANCE hLib = LoadLibrary(pszDllName);
if (hLib == NULL)
return bResult;
// get DllRegisterServer address
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib, _T("DllUnregisterServer"));
if (lpDllEntryPoint != NULL)
{
if (S_OK == (*lpDllEntryPoint)())
bResult = TRUE;
}
FreeLibrary(hLib);
return bResult;
}