总结在使用VB 6.0和C#编写ActiveX控件的实践 (一)

ActiveX对象或者控件是一个时代的产物,关于它的介绍网上也有很多。我这里摘录最简单的描述。

ActiveX 控件(以前称作 OLE 控件)是可以充当浏览器插件的可重复使用的组件,有些像微型的应用程序。ActiveX 控件在 Windows 系统上的 Internet Explorer 中运行,但它们不在 Macintosh 系统上或 Netscape Navigator 中运行。Dreamweaver 中的 ActiveX 对象使您可为访问者的浏览器中的 ActiveX 控件提供属性和参数。

简单来说,ActiveX对我们来说最经常意味着在使用IE浏览器去浏览某些网站时,会弹出的一个提示安装的对话框。它可以帮助web程序实现一些富客户端功能,例如客户端打印,图片上传等等操作。

【要知道,web程序对客户端并没有任何控制能力,除非用客户端脚本(例如vbscript,javascript等),但要实现更加丰富的功能,ActiveX无疑是比较好的一个选择】

 

使用VB 6.0编写ActiveX对象或者控件

一。编写ActiveX对象

image

我们在默认的那个Class1中添加一个方法(Test),让它实例化一个窗口,并且用模态的方式打开该窗口。【仅仅为了演示目的,我们不准备实现任何的逻辑】

image

最后编译的结果,就得到一个dll

image

这个时候,其实就可以使用它了。我们刚才在编译它的时候,其实已经完成了注册过程。如果你是仅仅从别人那里获得该dll,那么需要手工地注册先。

regsvr32 Myactivexdll.dll

我们该怎么使用它呢?下面分别演示了两种方式

1. 通过vbs直接调用它

image

2. 通过javascript在网页中使用它。

image

不管用何种方式,他们最终都想显示下面这样的效果

image

只要是做过web开发的朋友一定会有体会,要在网页编程里面打开这样的窗口是多么难的事情。而ActiveX则很容易做到这一点。

但是,这里有一个关键,ActiveX是客户端技术,也就是说必须保证所有客户端都有这个组件才有效。所以,下一步我们要为该dll打包,以便让其能够提供下载安装 

首先,启用打包和展开向导【外接程序】=》【外接程序管理器】

image

运行该向导,就可以得到下面的一些文件

image

最重要的是那个MyActivexdll.CAB压缩包文件,里面有两个文件

image

重点是那个INF文件包含了一些注册信息

然后,我们再来看一个测试页面MyActivexdll.HTM,该页面演示了如果该页面需要使用该ActiveX对象,则应该嵌入相应的标记

image

如果该页面嵌入了该标记,那么在打开的时候就会出现下面提示

image

image

最后,我们的ActiveX控件将出现在IE的加载项里面

image

posted @ 2008-08-11 10:41  陈希章  阅读(4583)  评论(0编辑  收藏  举报