欢迎来到天天文库
浏览记录
ID:1127760
大小:402.00 KB
页数:14页
时间:2017-11-07
《从ocx控件编写到发布到网上全过程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VC6.0从开发activexocx控件到发布到网上全过程(sunxiaopeng)ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。一:vc创建activex控件创建一个activex控件,名称为:test.ocx,创建步骤略。显示结果如下:为该控件增加一个方法voidGetStr(LPCTSTRstr),该方法内部代码如下:这样,GetStr方法就
2、被加入了。onDraw函数下代码如下下面,测试该方法,鼠标右键控件,选择InvokeMethods,弹出如下对话框:在parameter中输入hello,单击Invoke按钮,显示如下:那么如何在网页中将参数传递给控件,让其在网页中显示出来呢??稍后介绍把test.ocx控件放入c:ceshi目录下,到网上下载Makecert.exe,Cert2Spc.exe,Signcode.exe,并一同放入c:ceshi目录下二:ActiveX打包与发布1)用到的工具如下所示:1.Makecert.exe---证书创建工具2.Cert2Spc.exe---发行者证
3、书测试工具3.Signcode.exe---文件签名工具2)ActiveX发布步骤打包activeX需要制作证书,具体用到makecert、cert2spc、signtool这三个工具,现在我们将以上工具和.ocx控件放到同一个目录c:test下.(1)单击"开始"-->"运行(R)"-->输入"cmd"-->回车-->进入到操作的控件所在的目录(需要将上面所说的工具,和ocx控件放到一个文件夹下);(2)创建inf文件,代码如下[version]signature="$CHICAGO$"AdvancedINF=2.0[Add.Code]test.ocx=
4、test.ocx[test.ocx]file-win32-x86=thiscabRegisterServer=yesclsid={B649E664-D7CF-4481-A58E-AC8B4440794A}DestDir=11FileVersion=1,0,0,1上述代码解释如下:file-win32-x86=thiscab //告诉ie到哪里去得到这个dll,file一共包括三个部分,第一部分是file,这个永远都是这样的(至少目前来说);第二部分告诉声明支持的OS,win32表示windows,mac就是苹果MAC OX了;第三部分是CPU类型,比
5、如说x86、 ppc (Power PC)、 mips或者alpha了 。其中“thiscab”是一个关键字,表示 CAB 包含此 DLL,也可通过指定一条绝对或相对路径,从一个 HTTP 位置下载所需的 DLL, 例如: file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL clsid={B649E664-D7CF-4481-A58E-AC8B4440794A} //“clsid”是将要安装的控件的 CLSID , 如何获得呢------DestDir=11 //它的值是d
6、ll将要存到本地硬盘的位置,如果它的值是10,则将dll放到Windows或者WinNT下;如果是11,则放到WindowsSystem或者WinNTSystem32下;如果未指定任何 DestDir(典型情况),则代码安装在固定的 OCCACHE 目录中。 FileVersion=1,0,0,1//说明了atl90.dll的版本号 (3)将inf和dll打包成cabcabarc n test.cab test.inf test.ocx这样就将其打包成test.cab(4)生成cert证书为得到签名用的spc格式 makecert /sv "
7、test.pvk" /n "cn=test" test.cer 执行过程中会要求输入密码,密码要一致,如下图所示(5)生成.spc文件cert2spc test.cer test.spc之后,就在其目录中多了一个test.spc文件(6)对cab文件进行签名运行singcodesignwizard,此时会弹出对话框,操作如图所示:直接按下一步找到指定目录下的.cab文件选择自定义选择“从文件选择”选项下一步按浏览找到.pvk文件选择md5;默认直接按下一步不填,下一步不填,下一步按完成(7)下面是一个嵌有ActiveX控件test的HTML代码示例:8、L>NewPage
8、L>
此文档下载收益归作者所有