如何不借助REGSVR32,在VB程序中注册DLL?

Wind_LQ 2001-07-23 11:10:29
...全文
194 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigcan 2001-12-19
  • 打赏
  • 举报
回复
ltpao(啊炮)真是利害!!
Wind_LQ 2001-07-26
  • 打赏
  • 举报
回复
我在MSDN中也找到一段代码,和这个差不多的,但是就是在转换成VB的时候有问题,我得到了指象DLLREGISGERSERVER的指针但是我不知道在VB中如何调用。

ltpao 2001-07-26
  • 打赏
  • 举报
回复
Private Declare Function DllUnregisterServer Lib "你的ActiveDll" () As Long
Private Declare Function DllRegisterServer Lib "你的ActiveDll" () As Long
darkay 2001-07-25
  • 打赏
  • 举报
回复
其实知道原理就很简单啦,其实就是在DLL中查找注册函数调用就可以啦。
C代码如下,能不能转换成VB的就看你的功夫啦,^_^

HINSTANCE hLib = LoadLibrary(pszDllName);
if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
MessageBox("不能载入该控件文件!","错误",MB_OK);
return;
}
/*获取注册函数DllRegisterServer地址*/
FARPROC lpDllEntryPoint;
lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer"));
/*调用注册函数DllRegisterServer*/
if(lpDllEntryPoint!=NULL)
{
/*执行它*/
if(FAILED((*lpDllEntryPoint)()))
{
MessageBox("控件注册失败!","错误",MB_OK);
FreeLibrary(hLib);
return;
}
MessageBox("控件注册成功","提示",MB_OK);
}
else
MessageBox("控件注册失败!","错误",MB_OK);

反注册就是找DllUnregisterServer这个名字的函数就是啦!
bucher 2001-07-25
  • 打赏
  • 举报
回复
regsvr32 /?看看参数,有一个就是silentmode
Wind_LQ 2001-07-25
  • 打赏
  • 举报
回复
因为我要实现程序的自动安装和升级,不需要安装程序。但是如果在VB中调用REGSVR32的话,会出现讨厌的确定框,如果有办法去掉的话倒也是可以的。不知道有吗?
jixian 2001-07-23
  • 打赏
  • 举报
回复
why
jixian 2001-07-23
  • 打赏
  • 举报
回复
怪,为什么不用?
kyuwong 2001-07-23
  • 打赏
  • 举报
回复
DllRegisterServer '注册。
DllUnregisterServer '反注册。

bucher 2001-07-23
  • 打赏
  • 举报
回复
loadlibrary
getprocess 一个自注册的函数即可,函数名我忘了,还是用regsvr32方便。
a_geng 2001-07-23
  • 打赏
  • 举报
回复
为什么不用regsvr32?
y1g1y1 2001-07-23
  • 打赏
  • 举报
回复
我见过的,要找找源程序了。
Wind_LQ 2001-07-23
  • 打赏
  • 举报
回复
难道没人知道吗?还是都不愿说!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧