【新手上路】急:求系统介绍浏览器中ActiveX控件制作、签署和打包的资料

happyhm 2003-09-26 02:44:36
求系统介绍浏览器中ActiveX控件制作、签署和打包的资料,最好有电子版下载!谢谢先
...全文
53 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CodeMast 2003-09-27
  • 打赏
  • 举报
回复
这位仁兄,如果需要帮助可以和我联系MSN:SWQ_QQ@hotmail.com
CodeMast 2003-09-27
  • 打赏
  • 举报
回复
浏览器中ActiveX控件:
1、在控件中添加安全接口以让控件可以让脚本给控件初始化信息!
2、要对控件进行数字签名!
我最近刚做完一个控件!
warmchang 2003-09-27
  • 打赏
  • 举报
回复
2.4 在网页中嵌入ActiveX文件包实现基于Internet软件发布:

  给出一个嵌入实例:

<object style="LEFT:0px;TOP:0px" codebase="texturemap.cab#version=1,0,0,1" width="640" height="480" align="baseline" border="0" classid="clsid:0F968806-D214-11D5-9022-5254AB123A61" name="texture" VIEWASTEXT>
<param name="_Version" value="65536">
<param name="_ExtentX" value="2646">
<param name="_ExtentY" value="1323">
<param name="_StockProps" value="2">
</object>

  其中name属性是控件对应的对象名,实现在网页中对控件定义的方法进行调用、属性进行设置;codebase属性指示的是控件包的下载位置,除了cab文件外,也可以直接指向一个OCX 文件或者DLL文件,但要发布软件,这些文件都必须事先签署过;codebase中的version表示控件的版本号,当控件在客户端不存在或现有控件的版本比codebase属性中指定的版本旧时,浏览器将下载并注册指定的文件;classid属性指定的是控件的CLSID,客户端系统将通过此ID在注册表中寻找该控件是否已被注册,并确定控件的版本以决定是否重新下载注册。Width,height属性定义控件在浏览器中的客户视窗大小。

  在将ActiveX嵌入后就需要实现调用控件中设定的方法和属性。可以通过VBScript脚本进行调用,如:

<script language="VBscript">
Sub window_onload()
texture.Radius=5
end sub
</script>
<input type=button onclick='call texture.servertexturemapping("218.108.175.187","Apple.bmp")'>

  其中servertexturemapping是控件中定义的方法,Radius是控件中定义的属性。
warmchang 2003-09-27
  • 打赏
  • 举报
回复
2.1 制作测试软件出版商证书:

  使用Visual C++ 光盘中CAB&SIGN目录下的 MAKECERT和 CERT2SPC 公用程序。举例来说,制作分两步:

  (1)做一个私人密匙文件MYKEY.PVK 和一个公司证书CERT.CER,运行公用程序MAKECERT,命令为:

MAKECERT -u:MyKey -n:CN=Company -k:MYKEY.PVK CERT.CER

  其中MyKey是密匙名,Company是公司名。注意:公用程序 MAKECERT 在命令行选项中区分大小写,因此必须使用小写的-u、-n以及-k,对于-n选项的值必须是大写的CN。

  (2)完成名为CERT.SPC测试软件出版商证书的制作,运行CERT2SPC,命令如下:
CERT2SPC ROOT.CER CERT.CER CERT.SPC

  其中CERT.SPC文件是利用第一步创建的CERT.CER文件以及CAB&SIGN目录下提供的ROOT.CER文件创建的。

  2.2 打包待发布的ActiveX控件和相关链接库:

  使用CAB&SIGN目录下的CABARC.EXE,举例来说,过程分两步:

  (1) 创建一个INF文件:

  INF文件是一个文本文件,指定运行控件所需要下载和注册的组件(比如DLL或其它OCX)。一个INF文件描述了CAB压缩包中所有必须的文件。在缺省情况下,若客户端系统中有压缩包中的文件,则版本号相同的文件不被下载。一个INF文件(texture.inf)的示例为:

[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Cards.ocx=Cards.ocx
mfc42.dll=mfc42.dll
opengl32.dll=opengl32.dll
glu32.dll=glu32.dll
[Cards.ocx]
file-win32-x86=thiscab
clsid={26E6AD0A-ACEF-11D4-B58D-FA8AFE1FC3B9}
FileVersion=1,0,0,1
RegisterServer=yes
[mfc42.dll]
file-win32-x86=thiscab
RegisterServer=yes
[opengl32.dll]
FileVersion=4,0,0,0
hook=openglinstaller
[glu32.dll]
FileVersion=4,0,0,0
hook=openglinstaller
[openglinstaller]
file-win32-x86=OpenGL95.cab
run=%EXTRACT_DIR%\OpenGL95.exe

  其中条目[version]固定,条目[Add.Code]将需要下载的动态链接库和ActiveX 组件填写其中作为下载清单,其他以[Add.Code]中的文件名为条目名的表项是对这些文件的来源、版本、下载路径和是否需客户端系统注册的具体说明--关键字"file-win32-x86"指定平台是x86,其值"thiscab"也是一个关键字,意指包含该INF的CAB文件,也可以是其他同时被下载的cab文件名或者是一个网址;"clsid"是指待注册控件的CLSID;"RegisterServer=yes"表示对应文件需要系统注册;"hook"表示该文件位置要去hook语句所指示的条目里寻找;

  (2) 运行公用程序CABARC.EXE,对应于以上INF文件有如下命令行:

CABARC -s 6144 n texturemap.cab cards.ocx mfc42.dll texture.inf

  执行后创建了一个名为texturemap.cab的CAB文件。其中,CAB包中的文件需要在命令行列出,次序同它们在INF文件中的完全一致,-s选项为代码签署保留空间,n 命令指定创建的是CAB文件。

  2.3 对打包得到的文件进行数字签名:

  使用CAB&SIGN目录下的SIGNCODE.EXE,步骤如下:

  (1) 运行该程序,在需填写属性的第一页,选择打包好的文件(也可以直接是ActiveX控件所对应的文件,如OCX/DLL),填写发布软件名和发布商的网址(方便用户根据这些资料直观的判断是否运行该控件);

  (2) 第二页是证书发放机构的列表,选择软件发布商所获得证书的所属机构;

  (3) 第三个用户填写页,选定软件开发商证书(SPC)文件名,另外,因为需在该证书的一个文件中查找密码、密匙,所以还需选定私人密匙(PVK)文件名;

  (4) 确认所填写的信息后,SIGNCODE就对文件进行签署。
happyhm 2003-09-26
  • 打赏
  • 举报
回复
up
happyhm 2003-09-26
  • 打赏
  • 举报
回复
to wuxfBrave:
用google搜索n遍了,好像没有太系统的资料!呜呜————
还请前辈们指导!
u2m 2003-09-26
  • 打赏
  • 举报
回复
mark
wuxfBrave 2003-09-26
  • 打赏
  • 举报
回复
自己用google搜索一下

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧