首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2012-12-25 
总结在使用VB 6.0和C#编写ActiveX控件的实践(一)http://www.anqn.com/dev/vb/2009-07-21/a09113242.shtmlA

总结在使用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对象

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

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

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

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

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

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

regsvr32 Myactivexdll.dll

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

1. 通过vbs直接调用它

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

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

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

?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

热点排行