2019年整理ActiveX控件制作
- 格式:ppt
- 大小:161.00 KB
- 文档页数:30
步步学ACTIVEX网页控件开发转载自IT168 [ / ]第1页:创建ActiveX控件本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。
MyActiveX控件的效果图简介ActiveX是由Microsoft在90年代中期提出的一项技术。
利用ActiveX技术,开发者可以创建像Java小程序applet一样的小型应用程序。
这些应用程序可以被下载然后在Microsoft的浏览器中运行。
这篇文章是为那些想学习如何开发他们的第一个ActiveX控件的Visual C++开发者准备的。
当我自己尝试学习这些技术的时候,我发现很多针对ActiveX技术的资料都已经不再适用了,都已经过时了,或者丢失了很多关键性的信息,这些都使得我在为我的项目创建一个ActiveX控件的时候,变得困难重重。
这篇文章将帮助你实现ActiveX网页控件开发的快速入门。
本文将首先介绍如何使用 Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。
另外,你也将学习到如何在默认的Internet Explorer安全设置下取消掉控件加载过程中的警告或者错误提示,使你的控件成为一个“安全”的ActiveX控件。
在本文中,我们将创建一个实际的ActiveX控件。
在控件加载的过程中,它将显示一个动态的进度条,告诉用户控件正在加载并处理信息。
同时,这个控件也将展示如何在ActiveX控件和Web页面之间传递信息。
本文将引导你一步步地利用Microsoft Visual Studio 2005完成ActiveX控件的开发工作。
创建ActiveX控件要创建一个ActiveX控件,首先启动Visual Studio 2005,执行下面这些步骤:1.选择“文件”菜单,然后选择“新建”->“项目”。
您正在看的C#.NET教程是:用C#编写ActiveX控件。
首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图:UserControl1.cs内容如下:using System;using System.Collections;using ponentModel;using System.Drawing;using System.Data;using System.Windows.Forms;namespace HelloWorld{/**//// <summary>/// UserControl1 的摘要说明。
/// </summary>public class Demo : erControl{private bel label1;/**//// <summary>/// 必需的设计器变量。
/// </summary>private ponentModel.Container components = null;public Demo(){// 该调用是Windows.Forms 窗体设计器所必需的。
InitializeComponent();// TODO: 在InitComponent 调用后添加任何初始化}/**//// <summary>/// 清理所有正在使用的资源。
/// </summary>protected override void Dispose( bool disposing ){if( disposing ){if( components != null )components.Dispose();}base.Dispose( disposing );}组件设计器生成的代码#region 组件设计器生成的代码/**//// <summary>/// 设计器支持所需的方法- 不要使用代码编辑器/// 修改此方法的内容。
ocx控件制作步骤制作activex控件(ocx)步骤1.安装IDE(.NET)2.第一步3.第二步4.第三步双击解决方案中的backup3Ctrl5.第四步制作按钮控件需要编辑的事件属性中得到按钮按下事件,编辑代码void Cbackup3Ctrl::OnLButtonDown(UINT nFlags, CPoint point) {if( MessageBox("确定要开始帐前备份吗?", "确定",MB_YESNO|MB_DEFBUTTON2)==IDYES)WinExec("c:\\中心日终\\backup_before.bat", SW_SHOW); elsereturn;COleControl::OnLButtonDown(nFlags, point);}6.第五步在代码中找OnDraw方法:填写代码// Cbackup3Ctrl::OnDraw - 绘图函数void Cbackup3Ctrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) { DoSuperclassPaint(pdc, rcBounds);CSize Extent = pdc->GetT extExtent("备份中");CPoint pt( rcBounds.CenterPoint().x - Extent.cx/2, rcBounds.CenterPoint().y - Extent.cy/2 );int nMode = pdc->SetBkMode(TRANSPARENT);pdc->TextOut(pt.x, pt.y, "备份中");}7.第六步生成解决方案在D:\net\backup3\Debug下会生成一个backup3.ocx控件,在系统中注册就可以使用C:\WINDOWS\system32\regsvr32.exeD:\net\backup3\Debug\backup1.ocx 注:如果用IDE进行编译的话,会自动注册到系统注册表中,无需在进行手动注册,如果投放生产的时候,需要手动注册。
如何制作Activex控件¾使用VC6编写ActiveX控件A.创建工程,选择“ATL COM AppWizard”选项,填写Project name,如图一所示:图一B.点击“下一步”,进入图二,选中“Dynamic Link Library(DLL)”,然后选择“Finish”按钮,完成工程的创建工作。
图二C.像工程中添加类,该类完成ActiveX控件中实际需要完成的工作,添加类的方式有两种,区别在于创建时是否可以选择从哪些基类继承。
1.选择VC6工具栏上的“Insert-〉new class”按钮,弹出如图三所示界面,在该界面上填写相应名称,点击“OK”按钮完成类的添加工作。
图三按照这种方式添加生成的类的继承关系可以参看图四图四2.选择VC6工具栏上的“Insert-〉new ATL Object”选项,弹出如图五所示界面图五选择“Objects-〉Simple Object”选项,点击“Next”按钮,弹出如图六所示界面图六在该页面上填写相应得类名称即可,同时选择“Attributes”页,在页面上选择从哪些基类继承,如图七所示图七设置完成后,选择“确定”按钮,完成类的添加。
D.在刚刚添加的类中添加函数,完成相应的功能。
1.在头文件中添加函数声明,如图八所示2.在IDL文件中添加以下代码,如图九所示3.在CPP文件中添加函数定义,如图十所示E.编译工程,生成ActiveX控件¾制作CAB文件Internet软件分发单位是“软件包”,它由包含.INF文件或软件分发.OSD文件(或两者都包括)的.CAB文件所组成。
一个分发单位也可以包含软件组件,如ActiveX控件,DLL文件等。
在制作CAB文件时,可以使用Windows自带的工具IEXPress.exe,该工具位于(C:\windows\system32)目录下。
A.编写INF文件INF文件的格式如图十一所示,该INF文件可以包含多个文件,本例中只包含了一个DLL文件。
ActiveX控件的动态创建和删除4. Active X 控件的动态创建和删除以上论述的方法适合于控件在应用程序[ying yong cheng xu]工具箱(TOOLBOX )中的情况,而Active X 控件一般在应用程序[ying yong cheng xu]运行机器上,但没有在工具箱中,这种情况则需要先进行注册,方法是利用 Regsvr32 在 Windows 环境中注册,或者在 VB 代码中进行注册,方法如下:Shell(Systempath &“ regsvr32.exe /s /I" & MyControlName, vbHide)其中Systempath 是Regsvr32.exe 所在的路径,MyControlName 是控件名字(包括路径)若要撤销,可以如下操作:Shell(Systempath &“ regsvr32.exe /s /U" &MyControlName, vbHide)下面讨论注册但是未出现在工具箱( TOOLBOX )中的 Active X 控件的情况,这其中也包括 VB 自带的一些 Active X 控件的使用。
具体的方法就是利用VBControlExtender 对象。
VBControlExtender 对象与EventInfo 相结合能提供事件陷井捕捉,它提供了一套通用的属性、方法、事件给开发人员,它的一个突出特点是能编程设计控件的事件,声明时若使用WithEvents 关键字,则会有个特殊的事件ObjectEvent(Info As EventInfo) ,它能捕捉到对象使用 RaiseEvent 产生的所有事件, EventInfo 数据结构[jie gou][shu ju jie gou]映射[ying she]了事件的名称、参数个数和参数的值。
VBControlExtender 和 EventInfo 相结合,采用 Select Case 就可以预先将不同类对象的事件放置一起,各自独立[du li]运作。
VC++编写ActiveX控件ActiveX这门技术是通过生成“*.ocx”文件来实现的。
先来了解下OCX文件,在百度百科上面对OCX是这样解释的:“.ocx是ocx控件的扩展名,OCX 是对象类别扩充组件。
如果你用过Visual Basic或者Delphi一类的可视化编程工具,那么对控件这个概念一定不会陌生,就是那些工具条上的小按钮,如EditBox,Grid,ImageBox,Timer等等。
每个控件都有自己的事件、方法和属性。
使用了控件的编程非常容易。
首先,在程序的设计阶段可以设置一些属性,如大小,位置,标题(caption)等等;在程序运行阶段,可以更改这些属性,还可以针对不同的事件,调用不同的方法来实现对该控件的控制。
控件就好像一块块的积木,程序要做的事只是将这些积木搭起来。
控件的最大好处是可以重复使用,甚至可以在不同的编程语言之间使用,例如你可以在VB中嵌入用VC开发的控件。
”里面最后一句话比较重要,就是用VC开发的OCX控件,你可以在其它语言里面都能调用,这样很好的实现了功能化组件的良好循环使用,而且还可以实现跨语言地调用(例如,你完全可以用C#调用C++开发的OCX控件)。
下面开始介绍,如何用VC++一步步生成你想要的“*.ocx”文件。
1. 建立最简单的ocx文件并进行调试1.1 建立最简单的ocx文件VC->新建项目->MFC ActiveX WinZard一路点击“确定”,直到点击“完成”。
最后VC++会自动生成一些文件,这些文件就构成了ActiveX的基本模板,文件的主要结构如下:直接编译一下,然后在Debug目录下面就会生成一个名为“ocxDemo.ocx”的控件注册文件,然后利用“regsvr32”命令就可以实现本机对此控件的注册,然后就可以使用本语言或者跨语言编写程序时引用此控件来实现相应的功能(后面将会讲到)。
1.2 ocx调试方法:VC++自带有一个调试控件的工具“ActiveX控件测试容器”,通过三种方式可以打开:1.点击“调试”按钮,会出现如下对话框:然后浏览"C:\Program Files\Microsoft Visual Studio\Common\Tools\TSTCO N32.EXE“2. 系统的“开始“-》“程序”-》“Microsoft Visual C++ 6.0”-》“Microsoft Visual C++ 6.0 Tools”-》“Active Control Test Container”3. VC++开发环境中的“工具”-》“ActiveX Control Test Container”通过上面的任意一种方法,都可以调出下面的程序:右击空白区域,插入控件,然后会弹出下面的对话框:选中指定控件,然后点击确定,控件就被加载到此工具中了,然后可以通过这个工具来看此控件的相关事件响应等等。
调⽤ocxActiveX控件详解(做⼀个简单的ocx控件)最近做的项⽬都和插件有关,就是在页⾯中调⽤插件的⽅法,然后进⾏操作。
插件就是ocx ActiveX控件,具体的说明可以⾃⼰去了解⼀下,在这⾥就不做赘述。
具体调⽤⽅式很简单:1、在页⾯中写⼀个object标签,标签中定义⼀个classid属性,这个属性是获取到插件的关键<object id="ocx" classid="clsid:c998ae90-5ffc-4a58-97d2-490a414bd6e5"></object>2、直接在js中获取到这个dom,然后就可以调⽤插件中的⽅法let ocx = document.getElementById("ocx");let sum = ocx.Add(1,2);在使⽤过程中遇到了很多问题,于是⾃⼰去摸索了⼀下如何制作⼀个ocx插件,也能够帮助⾃⼰加深⼀些使⽤⽅⾯的了解。
这⾥使⽤Visual Studio Community 2019,先下载必须的组件和依赖包。
使⽤C++的桌⾯开发和Visual Studio扩展开发这两项必须要勾选。
然后桌⾯开发中还需要勾选与MFC相关的库,如果不勾选的话⽆法新建MFC项⽬勾选完成后就开始下载相关的包,这个过程需要等待⼀会。
下载完成后就可以开始新建⼀个项⽬,在这⾥选择MFC ActiveX控件,命名为MyMFCActiveXControl然后就会⽣成⼀系列控件名,头⽂件等等的⽂件名,这⾥基本上不⽤做什么操作,直接完成就好。
唯⼀需要注意的是⼀个控件类型ID,这个ID我们后⾯会⽤到。
点击完成后,就会⽣成⼀系列与插件相关的⽂件,这些⽂件⾥⾯包含了插件的类,头⽂件,描述等信息。
因为不是专门学习C++的,不对⾥⾯的原理和结构进⾏探究,就取我需要的内容就⾏。
来找⼀找那个神奇的classid。
用VB做ActiveX控件用VB做ActiveX控件我们都知道在使用Visual Basic的时候可以使用很多现有的控件,像VB中的基本控件。
然而,只有这些基本的控件在很多的时候都不能满足我们的实际需要,因此还需要更多的能够实现其他特有功能的控件。
我们可以看到,在VB的部件中包含了大量的控件。
这些控件包含在VB中自带的ActiveX控件库中。
这些控件大大补充了VB的功能,其实可以这么说,在VB中谁掌握了对控件的使用,谁将更成功的运用VB写出功能强大的程序。
在VB中不但可以使用现有的ActiveX控件,更叫人兴奋的是可以利用VB创建自己的ActiveX控件。
下面我们一起讨论一下关于VB中创建ActiveX控件的基本知识。
ActiveX是Microsoft的术语,他是一组包括控件、DLL和ActiveX文档的组件,他通常是以动态连接库形势存在,因此必须在一个叫容器的可独立执行的软件中运行,比如VisualBasic,VisualC++,Internet Explorer等。
因此ActiveX控件和容器必须都支持一些特定的接口协议。
ActiveX应包括属性,事件和方法这些特殊机制,他也是创建ActiveX控件的核心。
在这个制作步骤中我们看到要利用一个VB中的UserControl对象,他是创建ActiveX控件的基础。
我先简单介绍一下UserControl 对象的基本知识吧。
VB创建的ActiveX控件包括UserControl控件和构成ActiveX控件的基本控件,称为构成控件。
这些基本控件实际上就是像CommandButton和Label控件等。
UserControl对象的设计界面和标准工程的Form设计界面没有什么差别。
我们可以直接在UserControl对象上面设计控件的外观,将代码添加在Code页面中,一切都是那么的熟悉。
UserControl以普通的文本文件格式存储,该文件包含UserControl以及他的构成控件源代码和属性值。
一、ActiveX控件1、初识ActiveX控件ActiveX控件可以看做是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。
容器应用程序是可以嵌入或链接对象的应用程序。
服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。
我们常用的Word就是一个容器应用程序,例如,若在Word文档中可以嵌入或链接一个Excel表格对象,则这时的Excel就是服务器应用程序。
在双击Word文档中嵌入或链接的这个Excel表格对象后,将启动Excel程序来完成对这个表格的编辑工作。
Excel就是拥有这个表格对象的服务器应用程序,而Word程序则是可以容纳这个表格对象的容器应用程序。
另外,我们也可以在Excel 文档中嵌入或链接一个Word文档对象,因此对Word来说,它不仅仅只是一个容器应用程序,同时它也是一个服务器应用程序。
对ActiveX来说,它的底层实际上采用COM技术或采用ATL技术实现的。
2、实例讲解,用VC++编写一个ActiveX时钟控件(1)、选择【File/New】菜单项,选择Projects选项卡,在列表框中选择MFC ActiveX ControlWizard,工程名设为Clock。
利用MFC ActiveX ControlWizard向导创建的工程自动生成三个类,CClockApp类相当于应用程序类,CClockCtrl类相当于主窗口类或视类,COlePropertyPage类是一种类似于对话框的图形界面,用于显示控件的属性。
其中还生成了相应的接口_DClock和_DClockEvents,接口是控件与外部程序进行通信的协议。
可以把接口看做是函数的集合,外部程序通过这个接口所暴露出来的方法去访问控件的属性和方法。
实际上,可以把接口看做是一个抽象基类,在此接口中定义的所有函数都是纯虚函数,这些函数的实现是在CClockCtrl类中完成的。
MFC通过底层的封装,让CClockCtrl类继承自接口_DClock,所以通过该接口调用的函数实际上调用的是CClockCtrl类中真正实现的函数。
Web ActiveX控件制作Web ActiveX控件制作 (1)1. 制作ActiveX控件的工具 (2)2. ActiveX控件制作步骤 (3)2.1. 制作数字证书 (3)2.2. 制作cab包 (4)2.2.1. 制作xx.inf文件 (4)2.2.2. 制作cab包 (5)2.3. 制作有数字签名的ActiveX控件 (5)3. 界面运行情况 (12)3.1. 安装数字证书 (12)3.2. 安装控件 (14)1.制作ActiveX控件的工具下载工具包:/upload/signtool.rar,解压至根目录(最好是根目录,方便后边敲路径),我的路径是E:\delphi\signtool\制作ActiveX控件需要用到的工具如下:制作cab包的工具制作数字证书工具在控件上签署数字签名的工具2.ActiveX控件制作步骤2.1. 制作数字证书在cmd下或者“运行”中输入以下命令:这里的printocx.pvk是我新创建的私人密钥;CN=KeHong Company是持有人或者颁发者,你可以CN=XX公司;最后的printocx.cer则是新建的证书。
根据提示在弹出的窗口输入私钥密码(因为做这个证书的目的并不是为了安全,所以密码建议设成123456之类好记的):执行结束后,在目录下会生成两个文件:printocx.pvk、printocx.cer。
证书的制作就是这么简单。
2.2. 制作cab包2.2.1.制作xx.inf文件Test.inf文件是用于之后的控件打包压缩。
例如cab包共需要打包的文件有:ClientOCX.ocxDllDeinterlace.dllmsvcp71.dllTest.inf文件内容如下:; INF file for HD_Viewer.cab[version]signature="$CHICAGO$"AdvancedINF=2.0; 以上部分不要修改[Add.Code]ClientOCX.ocx= ClientOCX.ocxDllDeinterlace.dll= DllDeinterlace.dllmsvcp71.dll= msvcp71.dll[ClientOCX.ocx]file-win32-x86=thiscabclsid={AC69DFDB-D959-4B9A-9F30-8A2160051C12}DestDir=11FileVersion=1,0,0,1RegisterServer=yes[DllDeinterlace.dll]file-win32-x86=thiscabDestDir=11FileVersion=1,1,0,3RegisterServer=yes[msvcp71.dll]file-win32-x86=thiscabDestDir=11FileVersion= 8,0,50727,762RegisterServer=yes; end of INF file注:INF文件具体配置可在网络搜索或见/immc1979/article/details/1572222 2.2.2.制作cab包创建cab包在cmd下或者“运行”中输入以下命令:cabarc.exe -s 6144 N print.cab msvcp71.dll DllDeinterlace.dll ClientOCX.ocx Test.inf 6144表示预留数字签名的空间print.cab表示生成的cab包名称msvcp71.dll DllDeinterlace.dll ClientOCX.ocx 表示需要打包的文件Test.inf为创建的控件打包压缩初始化文件运行该命令后,系统在当前窗口生成一个print.cab压缩包2.3. 制作有数字签名的ActiveX控件下面我们来对自己做的ocx控件签名(我的控件是print.cab),双击目录里的signcode.exe文件,出现了数字签名向导:选择控件包print.cab:下一步,签名选项选“自定义”下一步,选择证书,点击“从文件选择”,这里要把默认类型换成X.509证书:下一步,选择私钥,即刚才生成的printocx.pvk文件:会提示输入密码,即上面你设置的密码,比如之前我建议你设的123456:下一步,算法选择sha1即可:下一步,默认不用管:下一步,数据描述,这里要认真写一下了,最后客户的IE浏览器提示的文件描述就是这里所填的:下一步,时间戳也不用理会,直接下一步完成:最后会再次提示输入私钥,输入你设置的密码123456,确定,即提示“数字签名向导已完成”。
ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。
这个容器包括WEB网页,应用程序窗体等。
ActiveX控件的后缀名是OCX或者DLL。
一般是以OCX和动态库共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或exe解压成OCX和动态库共存的文件,然后注册ocx文件。
ActiveX控件是基于COM标准,使得软件部件在网络环境中进行交互的技术集。
它与具体的编程语言无关。
作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB 服务器以及客户端的各个方面。
同时,ActiveX技术也被用于方便地创建普通的桌面应用程序,此外ActiveX一般具有界面。
2.三个概念:ActiveX、OLE和COM从时间的角度讲,OLE是最早出现的,然后是COM和ActiveX;从体系结构角度讲,OLE和ActiveX是建立在COM之上的,所以COM是基础;单从名称角度讲,OLE、ActiveX 是两个商标名称,而COM则是一个纯技术名词,这也是大家更多的听说ActiveX和OLE 的原因。
COM是应OLE的需求而诞生的,所以虽然COM是OLE的基础,但OLE的产生却在COM之前。
COM的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务。
ActiveX最核心的技术还是COM。
ActiveX和OLE的最大不同在于,OLE针对的是桌面上应用软件和文件之间的集成,而ActiveX则以提供进一步的网络应用与用户交互为主。
COM对象可以用C++、Java和VB等任意一种语言编写,并可以用DLL或作为不同过程工作的执行文件的形式来实现。
使用COM对象的浏览器,无需关心对象是用什么语言写的,也无须关心它是以DLL还是以另外的过程来执行的。
从浏览器端看,无任何区别。
这样一个通用的处理技巧非常有用。
3.ActiveX控件工程的创建使用VS2013有两种方式可以创建ActiveX工程:第一种:创建“MFC ActiveX Control”工程;第二种:创建“ATL 项目”。
使用MFC开发ActiveX控件全过程Visual C++是开发ActiveX控件的强大工具,它的特点是开发周期短、便于使用,因此它已经成为开发ActiveX控件的主要工具之一。
Visual C++集成开发环境,使用了微软自己的类库MFC,MFC对开发Ac tiveX控件提供了全面的支持,本文讲述的过程均在Visual C++ 6.0(以下简称VC)中实现。
1、创建工程:对于使用过VC的人,可以很容易地创建一个开发ActiveX控件的工程,没有使用过VC的人,按照下面的操作步骤,也可以很快创建一个同样的工程出来。
第一步:“File”—>“New”—>“(Projects)MFC ActiveX ControlWizard”,在“Project Name”中输入合适的工程名(以test为例),在“Location”中选择工程文件存放路径,然后,“OK”进入下一步;第二步:选择你想在这个工程中生成的ActiveX控件的个数(至少一个),其余选项决定是否生成一些辅助文件,通常按照默认设置即可,“Next”进入下一步;第三步:编辑你的工程中各个类和文件的名称,配置一些辅助选项,可以全部选择默认设置,“Fini sh”进入下一步;第四步:展示向导为你的工程生成的各种配置信息,“Cancel”重新设置不满意的选项,“OK”结束工程的创建。
2、绘制控件:MFC将对ActiveX控件的支持封装在COleControl类中,所有ActiveX控件均从这个类派生。
绘制控件的全部操作则集中在一个虚函数中—OnDraw(),其默认实现如下:void CTestCtrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid){// TODO: Replace the following code with your own drawing code.pdc->FillRect(rcBounds,CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));pdc->Ellipse(rcBounds);}可以看到,OnDraw()函数的默认实现是在矩形rcBounds中绘制一个椭圆,通过改写OnDraw()函数中的内容,就可以绘制自己想要的控件了。
ActiveX插件制作流程第一步:使用VC++6.0制作ActiveX的.ocx控件;第二步:打包.cab1。
Makecert.exe ---证书创建工具2。
Cert2Spc.exe ---发行者证书测试工具3。
Signcode.exe ---文件签名工具makecert -ss name -n "CN=google" -sv .\demo.pvk -r .\demo.cer生成2个证书文件demo.pvk和demo.cercert2spc demo.cer demo.spc创建SPC测试软件出版商证明书cabarc -s 6144 n demo.cab demo.ocx demo.inf创建CAB文件-s 选项表示在压缩文件中保留用于代码签名的空间,n命令指定希望创建CAB 文件Signcode.exe具体签名向导过程如下:(1) 运行Signcode.exe ,要求您选择需要签名的文件,支持:可执行文件(*.exe; *.dll; *.ocx) ;Cabinet 打包文件(*.cab) 和目录文件(*.cat) ,如下图1 所示( 如:TestSign.cab) ,请注意:如果签名的文件已经有数字签名,则会被新的签名覆盖:(2) 点击“下一步”后,如下图2 所示,会要求您选择“签名类型”,缺省的“典型”签名类型;请选择“自定义” 签名类型:(3) 如下图3 所示,点击“从文件选择”签名证书( 公钥文件),如:WotoneCS.spc :(4) 点击“下一步”后,如下图4 所示,会要求您选择私钥文件,如:WotoneCS.pvk ,其他参数不用动:(5) 点击“下一步”后,如下图5 所示,会提示要求输入私钥密码:(6) 点击“下一步”后,如下图6 所示,会提示要求选择散列算法( 摘要算法、缩微图算法) ,缺省为sha1 ,也可以选md5 :(7) 点击“下一步”后,如下图7 所示,选择哪些证书包括到数字签名中,直接点击“下一步”即可,即选择缺省的包括根证书:(8) 如下图8 所示,要求填写该签名代码的功能描述,推荐一定要认真填写,因为此信息将会在最终用户下载此代码时显示,有助于最终用户了解此代码的功能以确定是否下载安装。