在MFC程序中如何注冊/注銷ActiveX控件(.OCX)
發(fā)表時間:2024-02-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在程序中注冊ActiveX控件(.OCX)的函數(shù)BOOL RegisterOcx(LPCTSTR OcxFileName) LPCTSTR pszDllName = OcxFileName ; //ActiveX控件的路徑及文件名 ...
在程序中注冊ActiveX控件(.OCX)的函數(shù)
BOOL RegisterOcx(LPCTSTR OcxFileName)
{
LPCTSTR pszDllName = OcxFileName ; //ActiveX控件的路徑及文件名
HINSTANCE hLib = LoadLibrary(pszDllName); //裝載ActiveX控件
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
return FALSE ;
}
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer")); //獲取注冊函數(shù)DllRegisterServer地址
if(lpDllEntryPoint!=NULL) //調(diào)用注冊函數(shù)DllRegisterServer
{
if(FAILED((*lpDllEntryPoint)()))
{
FreeLibrary(hLib);
return FALSE ;
}
return TRUE ;
}
else
return FALSE ;
}
//----------------------------------
在程序中注銷ActiveX控件(.OCX)的函數(shù)
BOOL UnRegisterOcx(LPCTSTR OcxFileName)
{
LPCTSTR pszDllName = OcxFileName ; //ActiveX控件的路徑及文件名
HINSTANCE hLib = LoadLibrary(pszDllName); //裝載ActiveX控件
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
return FALSE ;
}
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllUnregisterServer")); //獲取注冊函數(shù)DllUnregisterServer地址
if(lpDllEntryPoint!=NULL) //調(diào)用注冊函數(shù)DllUnregisterServer
{
if(FAILED((*lpDllEntryPoint)()))
{
FreeLibrary(hLib);
return FALSE ;
}
return TRUE ;
}
else
return FALSE ;
}