总结在使用VB 6.0和C#编写ActiveX控件的实践(一)
http://www.anqn.com/dev/vb/2009-07-21/a09113242.shtml
ActiveX对象或者控件是一个时代的产物,关于它的介绍网上也有很多。我这里摘录最简单的描述。
ActiveX 控件(以前称作 OLE 控件)是可以充当浏览器插件的可重复使用的组件,有些像微型的应用程序。ActiveX 控件在Windows 系统上的 Internet Explorer 中运行,但它们不在 Macintosh 系统上或 NetscapeNavigator 中运行。Dreamweaver 中的 ActiveX 对象使您可为访问者的浏览器中的 ActiveX 控件提供属性和参数。
简单来说,ActiveX对我们来说最经常意味着在使用IE浏览器去浏览某些网站时,会弹出的一个提示安装的对话框。它可以帮助web程序实现一些富客户端功能,例如客户端打印,图片上传等等操作。
【要知道,web程序对客户端并没有任何控制能力,除非用客户端脚本(例如vbscript,javascript等),但要实现更加丰富的功能,ActiveX无疑是比较好的一个选择】
?
使用VB 6.0编写ActiveX对象或者控件
一。编写ActiveX对象
我们在默认的那个Class1中添加一个方法(Test),让它实例化一个窗口,并且用模态的方式打开该窗口。【仅仅为了演示目的,我们不准备实现任何的逻辑】
最后编译的结果,就得到一个dll
这个时候,其实就可以使用它了。我们刚才在编译它的时候,其实已经完成了注册过程。如果你是仅仅从别人那里获得该dll,那么需要手工地注册先。
regsvr32 Myactivexdll.dll
我们该怎么使用它呢?下面分别演示了两种方式
1. 通过vbs直接调用它
2. 通过javascript在网页中使用它。
?
不管用何种方式,他们最终都想显示下面这样的效果
只要是做过web开发的朋友一定会有体会,要在网页编程里面打开这样的窗口是多么难的事情。而ActiveX则很容易做到这一点。
但是,这里有一个关键,ActiveX是客户端技术,也就是说必须保证所有客户端都有这个组件才有效。所以,下一步我们要为该dll打包,以便让其能够提供下载安装?
首先,启用打包和展开向导【外接程序】=》【外接程序管理器】
运行该向导,就可以得到下面的一些文件
最重要的是那个MyActivexdll.CAB压缩包文件,里面有两个文件
重点是那个INF文件包含了一些注册信息
然后,我们再来看一个测试页面MyActivexdll.HTM,该页面演示了如果该页面需要使用该ActiveX对象,则应该嵌入相应的标记
最后,我们的ActiveX控件将出现在IE的加载项里面