您的当前位置:首页正文

ActiveX控件学习

来源:步旅网


ActiveX是Microsoft提出的一组使用COM(Component Object Model,部件对象模型)使 得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被 用于方便地创建普通的桌面应用程序。

开发:

ActiveX的开发主要有两种路径,MFC和ATL,如果使用MFC开发的ActiveX控件,客户端必须有对应的MFC类库的DLL;如果使用ATL开发,则要对COM,OLE技术有所了解。一般使用MFC开发。

使用MFC开发时,可以通过vs2008自动生成工程框架,主要自动生成3个类:

C***App 这个类主要是对ActiveX框架进行初始化和注销

C***Ctrl: 这个类主要是实现ActiveX的功能

C***PropPage:这个类是管理ActiveX对话框的属性。

调试:

Vs2008调试ActiveX控件的时候,因为没有ActiveX控件测试容器,所以要指定一个容器,因为若要调试 ActiveX 控件,必须指定一个容器(可执行文件)用于运行控件。

为调试会话指定容器:在“解决方案资源管理器”中选择项目。从“视图”菜单中,选定“属性页”。在“项目属性页”对话框中,打开“配置属性”文件夹并选定“调试”。

在“调试”类别下,找到“命令”属性。指定容器的路径名。例如,C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE。如果指定 Internet Explorer 作为容器,并且正在使用 Active Desktop,在“命令参数”框中键入/new 。单击“确定”。

如果在“项目属性页”对话框中没有指定容器,则在开始调试时可以指定容器。当您选择执行命令开始调试时,将出现“调试会话的可执行文件”对话框。在对话框中指定容器的路径名。自己试着这么调试了,不过出现了问题,没有成功。

开发ActiveX时,可以使用的两个工具来简化工作,一个是ActiveX Control Pad,通过这个可以创建ActiveX的测试页面,因为ActiveX控件是不能单独运行的。还有一个是IIS服务器,这个可以查看自己做的动态网页,这里也可以查看ActiveX的页面。

在默认环境下,编译的MFC ActiveX控件,只能在本地代码中运行,即在http://localhost/xxx/xxx.htm中执行,而在http://127.0.0.1/xxx/xxx.htm中提示无相关属性,需要设置其初始化和脚本运行的安全性 。ActiveX在远程IE页面上执行,需要实现安全接口。在MFC写的ActiveX中,直接修改注册表。

ActiveX在页面的简单工作流程:

通过调用ActiveX的属性,方法和事件;

ActiveX控件和Web页面之间的通信是 通过ActiveX控件的属性,方法和事件来完成的。可以创建一个带有输入框的页面。当页面上的“提交”按钮被点击后,输入的文本 将通过一个输入参数自定义属性传递给ActiveX控件。然后,控件的一个方法将被调用,复制这些文本到一个输出参数自定义属性。接着,将触发一个事件, 将这些文本显示到页面

上。

打包

ActiveX控件做好了之后,需要进行打包发布,可以使用户在客户端自动下载安装该ActiveX控件

需要的条件:

一、用于将ActiveX控件进行打包并加数据鉴名的工具集:

makecert.exe 制作cer格式的证书,即X.509证书,同时可以创建私钥和公钥。

cert2spc.exe 将cer格式证书转换成spc格式证书,即PKCS #7证书。

cabarc.exe 将ocx打包成cab。

signcode.exe 将证书签署到ocx上去。

chktrust.exe 检查签署证书后的ocx是否正确。

certmgr.exe 是管理证书用的。

二、用于进行打包用的ocx控件evS1300.ocx。

三、用于查看ocx控件的工具ActvxDoc。

主要存在的问题有:

1. 对ActiveX控件的注册不太明白

2. 想学习具体怎么通过ActiveX控件实现安全登陆,网上找不到很全的代码或教程。

3. ActiveX控件一般只在IE中适用,别的浏览器支持不是很好,通过别的浏览器怎么实现安全登陆。

因篇幅问题不能全部显示,请点此查看更多更全内容