ActiveXコントロールをレジストリに登録する


ActiveXコントロールをレジストリに登録するにはコントロールの DllRegisterServer を呼び出すだけでOKです。


Sample code
typedef HRESULT (__stdcall *PDllRegisterServer)(void);
typedef HRESULT (__stdcall *PDllUnregisterServer)(void);

//ActiveXコントロールをレジストリに登録する
BOOL MyDllRegisterServer(LPCTSTR lpszFileName)
{
    PDllRegisterServer pDllRegisterServer;
    BOOL bResult = FALSE;
    
    HINSTANCE hLib = LoadLibrary(lpszFileName);
    if(hLib != NULL) {
        pDllRegisterServer = reinterpret_cast<PDllRegisterServer>(GetProcAddress(hLib, "DllRegisterServer"));
        if(pDllRegisterServer != NULL) {
            if(SUCCEEDED((*pDllRegisterServer)())) {
                bResult = TRUE;
            }
        }
        FreeLibrary(hLib);
    }
    return bResult;
}

//ActiveXコントロールをレジストリに登録解除する
BOOL MyDllUnregisterServer(LPCTSTR lpszFileName)
{
    PDllUnregisterServer pDllUnregisterServer;
    BOOL bResult = FALSE;
    
    HINSTANCE hLib = LoadLibrary(lpszFileName);
    if(hLib != NULL) {
        pDllUnregisterServer = reinterpret_cast<PDllUnregisterServer>(GetProcAddress(hLib, "DllUnregisterServer"));
        if(pDllUnregisterServer != NULL) {
            if(SUCCEEDED((*pDllUnregisterServer)())) {
                bResult = TRUE;
            }
        }
        FreeLibrary(hLib);
    }
    return bResult;
}

一覧メニューへ