一、注册ActiveX控件
BOOL RegistOcx()
{
//装载ActiveX控件
HINSTANCE hLib = LoadLibrary(_T("C:\\Windows\\System32\\Macromed\\Flash\\Flash.ocx"));
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
//MessageBox(_T("不能载入OCX文件!"));
return FALSE;
}
//获取注册函数DllRegisterServer地址
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,"DllRegisterServer");//注意这里是DllRegisterServer
//调用注册函数DllRegisterServer注册
if(lpDllEntryPoint!=NULL)
{
if(FAILED((*lpDllEntryPoint)()))
{
//MessageBox(_T("调用DllRegisterServer失败!"));
FreeLibrary(hLib);
return FALSE;
}
//MessageBox(_T("OCX注册成功!"));
return TRUE;
}
else
{
//MessageBox(_T("OCX注册失败!"));
return FALSE;
}
}
二、注销ActiveX控件
BOOL UnRegistOcx()
{
//装载ActiveX控件
HINSTANCE hLib = LoadLibrary(_T("C:\\Windows\\System32\\Macromed\\Flash\\Flash.ocx"));
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
//MessageBox(_T("不能载入OCX文件!"));
return FALSE;
}
//获取注销函数DllUnregisterServer地址
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,"DllUnregisterServer");//注意这里是DllUnregisterServer
//调用注销函数DllUnregisterServer注销
if(lpDllEntryPoint!=NULL)
{
if(FAILED((*lpDllEntryPoint)()))
{
//MessageBox(_T("调用DllUnregisterServer失败!"));
FreeLibrary(hLib);
return FALSE;
}
//MessageBox(_T("OCX注销成功!"));
return TRUE;
}
else
{
//MessageBox(_T("OCX注销失败!"));
return FALSE;
}
}
三、检测ActiveX控件
BOOL IsRegistOcx()
{
HKEY hKey;
if(RegOpenKeyEx(HKEY_CLASSES_ROOT,_T("CLSID\\{D27CDB6E-AE6D-11CF-96B8-444553540000}\\InprocServer32"),0,KEY_READ,&hKey)!=ERROR_SUCCESS)
{
//MessageBox(_T("OCX没有注册!!!"));
return FALSE;
}
else
{
//MessageBox(_T("OCX已经注册!!!"));
return TRUE;
}
}