在程序中自己用函数注册ActiveX Dll
编号:QA001730
建立日期: 1999年9月17日 最后修改日期:2001年8月13日
所属类别:
Q
NJH:
WinNT
VB5+sp3
Sir,
我想在程序中自己用函数注册一个ActiveX Dll。请问怎么实现? 谢谢
A回答:
注册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。
| |
|
|
| |
|
|