1、ActiveX Dll不能独立运行,以部件的形式给应用程序提供服务。 2、在ActiveX Dll内部检测自身有没有注册没有任何意义,因为既然它已经在工作了,就说明它已经注册了。 3、我想你的需求可以这样来实现:在使用ActiveX Dll的应用程序中:on error resume nextdim objThis as objectset objThis = createobject("TestDll.class1") ' class1 为 Dll中的一可实例化的类if objThis is nothing then ' 在此处注册,注册的方法有好几种,此处略... '... end if
on error resume nextdim objThis as objectset objThis = createobject("TestDll.class1") ' class1 为 Dll中的一可实例化的类if objThis is nothing then ' 在此处注册,注册的方法有好几种,此处略... '... end if 如果没有被注册,这段代码根本运行不了. 如果已经注册,判断又有什么意义? 省略的代码可用shell "regsvr32 " & App.EXEName
另外,注册表中去找DLL是否已经注册!
即便是注册了,你还可以用:regsvr32 /u...取消注册.
http://topic.csdn.net/t/20020702/15/844167.html
2、在ActiveX Dll内部检测自身有没有注册没有任何意义,因为既然它已经在工作了,就说明它已经注册了。
3、我想你的需求可以这样来实现:在使用ActiveX Dll的应用程序中:on error resume nextdim objThis as objectset objThis = createobject("TestDll.class1") ' class1 为 Dll中的一可实例化的类if objThis is nothing then
' 在此处注册,注册的方法有好几种,此处略...
'...
end if
' 在此处注册,注册的方法有好几种,此处略...
'...
end if
如果没有被注册,这段代码根本运行不了.
如果已经注册,判断又有什么意义?
省略的代码可用shell "regsvr32 " & App.EXEName