VC++开发与签名发布的ActiveX控件教程

3星 · 超过75%的资源 需积分: 4 18 下载量 131 浏览量 更新于2024-07-29 收藏 562KB DOC 举报
"VC++开发Activex控件以及签名发布技术" 本文主要介绍如何使用VC++通过Visual Studio 2008开发ActiveX控件,并讨论了控件的签名和发布技术。ActiveX控件是一种软件组件,常用于网页或应用程序中提供特定功能,如打印控件。 ### 一、开发环境 开发者使用Visual Studio 2008作为集成开发环境(IDE),选择Visual C++作为编程语言。为了测试ActiveX控件,推荐使用IE7或更高版本的浏览器,因为ActiveX技术主要与微软的Internet Explorer浏览器兼容。 ### 二、创建MFC ActiveX项目 1. 打开Visual Studio 2008,新建一个MFC项目,命名为“PrintUtil”。 2. 输入项目名称和位置,然后在向导对话框中选择“控件设置”选项卡,按照示例进行配置,其余选项保持默认设置。 3. Visual Studio会自动生成MFC ActiveX程序框架,开发者只需在此基础上添加所需功能。 ### 三、添加控件方法 1. 在“类视图”窗口中,展开“PrintUtilLib”项,选择“_DPrintUtil”,右键点击并选择“添加”->“添加方法”。 2. 在向导中,定义返回类型为LONG,方法名为`AddFun`,并添加两个LONG类型的参数`Add1`和`Add2`。 3. 完成向导后,在“PrintUtilCtrl.cpp”文件中找到自动生成的`AddFun`方法,添加返回值计算语句`return Add1 + Add2;`。 ### 四、MFC ActiveX安全问题 默认情况下,编译的MFC ActiveX控件仅能在本地运行,若要在远程IE页面上执行,需要处理安全性问题。这通常涉及到实现安全接口,例如使用ATL编写的ActiveX控件中实现的`IObjectSafety`接口。`IObjectSafety`接口允许控件表明其可以被哪些安全级别(如Internet或Intranet)的脚本所调用,从而确保了远程执行的安全性。 ### 五、签名与发布 1. **签名**:为了确保控件的来源可信,开发者需要对ActiveX控件进行数字签名。这可以通过Microsoft的`signtool.exe`工具完成,它允许使用证书对控件的DLL或OCX文件进行签名,以验证代码的完整性和作者身份。 2. **发布**:签名后的控件可以通过多种方式发布,包括上传到安全的Web服务器供用户下载,或者将其嵌入到网页中。发布时,应提供详细的安装指南,包括如何启用浏览器中的ActiveX控件设置,以及如何处理可能的安全警告。 通过上述步骤,开发者能够创建、签名和发布一个基本的ActiveX控件,使得它可以在受信任的环境中运行并提供预期的功能。然而,需要注意的是,由于ActiveX技术存在安全风险,现代Web开发已转向使用更安全的Web标准,如JavaScript和HTML5的Web组件。尽管如此,对于一些旧系统或特定场景,ActiveX仍然是必要的解决方案。