1.怎么编写一个无界面的Activex控件编写一个有界面的ActiveX 控件,放在网页中,这样做的目的是利用Internet Web的便捷,替代一般的客户端. 利用MFC向导建立ActiveX控件后,会生成几个类,其中COleControl (名称为testFrame) 的父类是CWnd,我们就可以在其上建立我们需要的子窗口了. 新建的工程内容如图: 首先建立一个对话框资源,选 IDD_FORMVIEW,为其建立关联类,基于CDailog,命名为CActXInterface. 选择对话框的属性: 英文版VC:style - child,border - dialog frame, visible, control, static edge 中文版VC:"样式"设置为"下层","更多样式"中选"可见","控件".详细设置见下三图: 第二步:在CYouProjectNameCtrl头文件中添加CActXInterface Dialog 变量:(记得加入头文件) CActXInterface ActXInterface; 第三步:为CYouProjectNameCtrl添加消息WM_CREAT,对应函数OnCreat();在其中创建对话框 ActXInterface.Create(IDD_FORMVIEW,this);//IDD_FORMVIEW为资源ID 第四步:在CYouProjectNameCtrl的OnDraw()消息中显示你的对话框. ActXInterface.MoveWindow(rcBounds,TRUE); 编译,OK.用VC自带容器工具测试.Tool-->ActiveX Control Test 。
第五步:注册控件,VC在编译时已自动将控件注册 。编写一个有界面的ActiveX 控件,放在网页中,这样做的目的是利用Internet Web的便捷,替代一般的客户端. 利用MFC向导建立ActiveX控件后,会生成几个类,其中COleControl (名称为testFrame) 的父类是CWnd,我们就可以在其上建立我们需要的子窗口了. 新建的工程内容如图: 首先建立一个对话框资源,选 IDD_FORMVIEW,为其建立关联类,基于CDailog,命名为CActXInterface. 选择对话框的属性: 英文版VC:style - child,border - dialog frame, visible, control, static edge 中文版VC:"样式"设置为"下层","更多样式"中选"可见","控件".详细设置见下三图: 第二步:在CYouProjectNameCtrl头文件中添加CActXInterface Dialog 变量:(记得加入头文件) CActXInterface ActXInterface; 第三步:为CYouProjectNameCtrl添加消息WM_CREAT,对应函数OnCreat();在其中创建对话框 ActXInterface.Create(IDD_FORMVIEW,this);//IDD_FORMVIEW为资源ID 第四步:在CYouProjectNameCtrl的OnDraw()消息中显示你的对话框. ActXInterface.MoveWindow(rcBounds,TRUE); 编译,OK.用VC自带容器工具测试.Tool-->ActiveX Control Test 。
第五步:注册控件,VC在编译时已自动将控件注册了.要是控件被移动了,要记得重新注册. 第六步:编写HTML文件(这段的详细教程请关注作者的后续文章):加入如下段. clsid为控件的注册id,需要改成该运行环境的注册id,见VC工程目录中odl文件中如下段(该段在文件最后,别弄错了id) // Class information for CAxtiveX_InterfaceCtrl [ uuid(706B8249-D5F8-438F-B391-FE7D620C946C), helpstring("AxtiveX_Interface Control"), control ] 第七步:按以上步骤做了之后,用IE打开HTML文件,发现ActiveX控件界面很小,这个可以在容器(HTML文件)中设定: 如: 至此,全部ok,你可以方便地在该对话框中建立你想要的控件,如按钮,Edit等 。
2.如何给ActiveX数字签名Activex 数字签名
1,制作ActivexForm,如图,暂且命名为Actfrmtest.
2,制作好ActiveForm如下:
3,Web发布设置如图:
4.设置好选项:
5.发布测试网页 。
6.运行测试网页,在浏览器未安全降级情况下如图:
7.下面开始数字签名: a. 我把工具包放到c:盘 。b. 运行c:certmakecert -sv "千中元是混蛋.pvk" -n "CN=BlackDragon" lazycat.cer 如图 弹出如下窗口,输入密码保护 。至此,cert证书制作完毕 。c. 开始证书spc转换 。运行 c:cert2spc lazycat.cer lazycat.spc 如图 d. 开始数字签名 。运行signcode (双击) 结果如图 单击从文件选择(F) 单击下一步 浏览,选择c:cert千中元是混蛋.pvk 单击下一步 输入创建证书时的密码. 选择加密为md5 下一步 直接下一步 下一步. 时间戳地址为: 加入时间戳注意要连接上163,或者可以出国. 输入制作证书时的密码 。签名完毕 。8.运行测试网页 运行效果如图: 这样在浏览器不降级就可以下载自己制作的*.ocx控件了 。当然,你也可以把浏览器安全降级,这样就不这么麻烦了 。:) 我写这个并不是要分,我希望大家能帮我写个opc client 详细请看 工控栏目下的工控源码下的opc server,编译时用到栏目里的opc source组件包 。