how to register .ocx files of ActiveX in run time? thx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ::Winexec("regsvr32 /s my.ocx");and system("regsvr32 /s my.ocx");cann't works. 在程序中,你可以使用UINT WinExec( LPCSTR lpCmdLine, // command line UINT uCmdShow // window style);来调用其他应用程序和命令,例如:WinExec("regsvr32 your_ocx_name.ocx",SW_SHOW); register: regsvr32 *.ocxunregister:regsvr32 /u *.ocx BOOL CSecuryEntryDlg::RegDllControl(LPCTSTR pszDllName){ HINSTANCE hLib = LoadLibrary(pszDllName); if (hLib <(HINSTANCE)HINSTANCE_ERROR) { AfxMessageBox(_T("dll file can't be import!"),MB_OK,NULL); return 0; } //get DllRegisterServer address FARPROC lpDllEntryPoint; lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer")); //DllRegisterServer if(lpDllEntryPoint!=NULL) { if(FAILED((*lpDllEntryPoint)())) { AfxMessageBox(_T("DllRegisterServer Failed!"),MB_OK,NULL); FreeLibrary(hLib); return 0; } } else AfxMessageBox(_T("DllRegisterServer Failed!"),MB_OK,NULL); return 1;}BOOL CSecuryEntryDlg::UnRegDllControl(LPCTSTR pszDllName){ HINSTANCE hLib = LoadLibrary(pszDllName); if (hLib <(HINSTANCE)HINSTANCE_ERROR) { AfxMessageBox(_T("dll file can't be import!"),MB_OK,NULL); return 0; } //get DllUnregisterServer address FARPROC lpDllEntryPoint; lpDllEntryPoint = GetProcAddress(hLib,_T("DllUnregisterServer")); //DllUnregisterServer if(lpDllEntryPoint!=NULL) { if(FAILED((*lpDllEntryPoint)())) { AfxMessageBox(_T("DllUnregisterServer Failed!"),MB_OK,NULL); FreeLibrary(hLib); return 0; } } else AfxMessageBox(_T("DllUnregisterServer Failed!"),MB_OK,NULL); return 1;} studentforever,I have tried it,it has successed in my computer,but not in others. kingzai,I think it just for register a dll Server.look prompt:teadfaDlg.obj : error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall C_GifAni::GetRuntimeClass(void)const " (?GetRuntimeClass@C_GifAni@@UBEPAUCRuntimeClass@@XZ)Debug/teadfa.exe : fatal error LNK1120: 1 unresolved externals My Invoke is : RegDllControl("pGif.ocx");//i have put pGif.ocx in program current directory. CTabCtrl建立标签的问题 socket通信,网卡绑定问题? 毕业设计问题 在函数中如何返回字符串数组?????? MFC的子窗口问题 小程序,大问题??? 为什么在网上传图象后,图象无法打开 CListCtrl ICON风格 设置扩展属性LVS_EX_HIDELABELS为什么没有效果? 使用线程的时候内存出错,大虾帮忙! 请问谁给我代码:菜单的功能实现 菜鸟的问题(关于trace的设置) ■■■■■■ TC2.0 下能否调用COM组件? ■■■■■■
and
system("regsvr32 /s my.ocx");
cann't works.
UINT WinExec(
LPCSTR lpCmdLine, // command line
UINT uCmdShow // window style
);
来调用其他应用程序和命令,例如:
WinExec("regsvr32 your_ocx_name.ocx",SW_SHOW);
unregister:regsvr32 /u *.ocx
{
HINSTANCE hLib = LoadLibrary(pszDllName);
if (hLib <(HINSTANCE)HINSTANCE_ERROR)
{
AfxMessageBox(_T("dll file can't be import!"),MB_OK,NULL);
return 0;
}
//get DllRegisterServer address
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer"));
//DllRegisterServer
if(lpDllEntryPoint!=NULL)
{
if(FAILED((*lpDllEntryPoint)()))
{
AfxMessageBox(_T("DllRegisterServer Failed!"),MB_OK,NULL);
FreeLibrary(hLib);
return 0;
} }
else
AfxMessageBox(_T("DllRegisterServer Failed!"),MB_OK,NULL);
return 1;
}BOOL CSecuryEntryDlg::UnRegDllControl(LPCTSTR pszDllName)
{
HINSTANCE hLib = LoadLibrary(pszDllName);
if (hLib <(HINSTANCE)HINSTANCE_ERROR)
{
AfxMessageBox(_T("dll file can't be import!"),MB_OK,NULL);
return 0;
}
//get DllUnregisterServer address
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllUnregisterServer"));
//DllUnregisterServer
if(lpDllEntryPoint!=NULL)
{
if(FAILED((*lpDllEntryPoint)()))
{
AfxMessageBox(_T("DllUnregisterServer Failed!"),MB_OK,NULL);
FreeLibrary(hLib);
return 0;
} }
else
AfxMessageBox(_T("DllUnregisterServer Failed!"),MB_OK,NULL);
return 1;
}
look prompt:
teadfaDlg.obj : error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall C_GifAni::GetRuntimeClass(void)const " (?GetRuntimeClass@C_GifAni@@UBEPAUCRuntimeClass@@XZ)
Debug/teadfa.exe : fatal error LNK1120: 1 unresolved externals
RegDllControl("pGif.ocx");//i have put pGif.ocx in program current directory.