热情软件屋

 

在程序中自己用函数注册ActiveX Dll


编号:QA001730
建立日期: 1999年9月17日 最后修改日期:2001年8月13日
所属类别:

NJH:
    WinNT
    VB5+sp3
    Sir,
    我想在程序中自己用函数注册一个ActiveX Dll。请问怎么实现? 谢谢

回答:

    注册ActiveX DLL和ActiveX控件,实际上是调用该DLL中的DllRegisterServer函数。你可以参考:微软的Knowledge Base的文章:“Q173407 HOWTO: Register Your Custom ActiveX DLL from a Client”
    由于VB使用Declare语句所调用的DLL的名字必须在设计时确定,所以使用VB,你只能注册事先知道名字的DLL,而无法编写软件来完全替代RegSvr32的。如果要实现类似RegSvr32的功能,有两个办法:
    1、使用C++,利用API函数LoadLibrary和GetProcAddress来实现调用任意ActiveX DLL中的DllRegisterServer函数。参考微软的Knowledge Base的文章:“Q207132 INFO: How Regsvr32.exe Registers and Unregisters COM DLLs”
    2、调用VB5STKIT.DLL中的DLLSelfRegister函数。该函数定义:
    Private Declare Function DLLSelfRegister Lib "VB5STKIT.DLL" (ByVal lpDllName As String) As Integer
    调用时:DLLSelfRegister "Comdlg32.ocx"
    
    另外,可以参考徐景周的VC例子regOCXsc.zip

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Visual Basic, VB, ActiveX技术, activex, com, ado

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio