使用API函数注册Dll

来源:互联网 发布:兰州连锁软件 编辑:程序博客网 时间:2024/06/07 09:02

使用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;