我用了一下的代码,不能成功注册? HINSTANCE hLib = LoadLibrary("demo.dll");
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
AfxMessageBox("不能载入Dll文件!");
return;
}
// 获 取 注 册 函 数DllRegisterServer 地 址
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer"));
// 调 用 注 册 函 数DllRegisterServer
if(lpDllEntryPoint!=NULL)
{
if(FAILED(( *lpDllEntryPoint)()))
{
AfxMessageBox("调用DllRegisterServer失败!");
FreeLibrary(hLib);
return;
};
AfxMessageBox("注册成功");
}
else
AfxMessageBox("调用DllRegisterServer失败!");
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
AfxMessageBox("不能载入Dll文件!");
return;
}
// 获 取 注 册 函 数DllRegisterServer 地 址
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer"));
// 调 用 注 册 函 数DllRegisterServer
if(lpDllEntryPoint!=NULL)
{
if(FAILED(( *lpDllEntryPoint)()))
{
AfxMessageBox("调用DllRegisterServer失败!");
FreeLibrary(hLib);
return;
};
AfxMessageBox("注册成功");
}
else
AfxMessageBox("调用DllRegisterServer失败!");
GetSystemDirectory(szPath,MAX_PATH);
if(szPath[_tcslen(szPath)-1]!=_T('\\'))
_tcscat(szPath,_T("\\")); _tcscat(szPath,_T("regsvr32.exe"));
if(IsDlgButtonChecked(IDC_RDUNREG))
_tcscat(szPath,_T(" /u"));
_tcscat(szPath,_T(" \""));
_tcscat(szPath,m_strFile);
_tcscat(szPath,_T("\""));
WinExec(szPath,SW_SHOW);