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中适用,别的浏览器支持不是很好,通过别的浏览器怎么实现安全登陆。
因篇幅问题不能全部显示,请点此查看更多更全内容