没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2007-08-21 11:13:16.000|阅读 1970 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
1. 引言
ActiveX 控件技术是从 OLE 基础上发展起来的,是将 OLE 进行了扩展从而使其适应 Internet、Intranet、商业应用程序等的开发。当 ActiveX 控件的程序代码在 Internet 上传输时,使用压缩技术传输程序代码变得非常有意义。
从另一方面来看,如果 ActiveX 控件还调用到其他的 DLL 程序模块,那么IE也必须把这些程序下载到本地来。为此,Microsoft 采用了惯用的 CAB 压缩方法,它把 ActiveX 控件应用程序以及相关的其他文件放在同一个 CAB 文件中,然后在 CODEBASE 属性中指定 CAB 文件的 URL 路径。 当IE找到 CODEBASE 属性时,它会自动解析 URL 地址从而把 CAB 文件解压到客户机的临时目录,然后注册有关文件,调用 COM API 函数创建 ActiveX 控件对象。这样就完成了 ActiveX 控件的传输。
2. CAB 压缩技术简介
微软公司在发行 Windows 95、Plus!95 等软件时采用了一种全新的 CAB 压缩包形式,它具有压缩率高、安全性好、不易受到破坏等优点,深受广大用户及软件制作商的欢迎。许多 用户甚至因此希望将自己的数据文件改用 CAB 压缩包的形式加以压缩、备份,以尽可能的减少备份文件所占用的磁盘空间,并提高它们的安全性。目前制作 CAB 文件的软件有主要有 Cabarc 和 WinCAB。
Cabarc 是一个用于压缩、列出压缩包中的文件、解压 CAB 文件的工具。Cabarc 支持通配符和递归路径搜索。不过 Cabarc 使用一个类似于常用的压缩工具的命令行界面,并且有较多的参数,与现在主流的 Windows 操作系统不太协调,使用起来不是很方便。
而 WinCAB 是一种可视化的全新的 CAB 压缩包制作软件,它具有采用图形界面、支持分卷压缩、可制作具有自解包功能的 CAB 压缩包(*.EXE 文件格式)等优秀功能, 这就从根本上解决了 CAB 压缩包的制作问题。需要注意的是在运行 WinCAB.exe 时,必须确保 makecab.exe 文件也在相同的目录下。
本文就以 WinCAB 为例来介绍 ActiveX 控件的 CAB 文件的制作过程。
3. 将 ActiveX 控件压缩成 CAB 文件
主要步骤有:
1)注册 YourCtl.ocx 控件。
2)建立 YourCtl.inf 文件。
INF 文件的格式如下:(在使用 Visual C++6.0的情况下)
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
YourCtl.ocx=YourCtl.ocx
mfc42.dll=mfc42.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll
[YourCtl.ocx]
file-win32-x86=thiscab
clsid={YourCtl.ocx的CLSID} //在YourCtl.odl文件中可以找到
FileVersion=1,0,0,1
RegisterServer=yes
[msvcrt.dll]
FileVersion=6,0,8168,0
hook=mfc42installer
[mfc42.dll]
FileVersion=6,0,8168,0
hook=mfc42installer
[olepro32.dll]
FileVersion=5,0,4261,0
hook=mfc42installer
[mfc42installer]
file-win32-x86=VALUE=http://activex.microsoft.com/controls/vc/mfc42.cab
run= % EXTRACT_DIR % \mfc42.exe
这里需要说明的是上述 msvcrt.dll、mfc42.dll、olepro32.dll 的 FileVersion 是根据 VC 不同的版本而异的,例如在 VC5.0sp3 中就应该如下
olepro32.dll 5,0,4230,1
mfc42.dll 4,21,0,7303
msvcrt.dll 5,0,0,7303
每个 VC 版本都有不同的版本号,这里只介绍常见的两种。 另外 mfc42installer 的下载路径除了 VC4.1和更早版本使用http://activex.microsoft.com/controls/vc/mfc40.cab外,其他版本都使用http://activex.microsoft.com/controls/vc/mfc42.cab。
3)启动 WinCAB 开始压缩。(其中注意 Makecab.exe 要在 WinCAB 目录下)
i)启动 WinCAB,然后执行“Cabinet”菜单的“New”命令或单击快捷工具栏上的“New cabinet”按钮,准备制作新的 CAB 压缩包。
ii)单击快捷工具栏上的“Add file(s) to cabinet”按钮,打开“Add file(s) to cabinet”对话框。
iii)选择欲添加到 CAB 压缩包中的文件后单击“打开”按钮,将它们添加到 WinCAB 的文件列表中。这里只需要添加 YourCtl.ocx 和 YourCtl.inf 两个文件。
iv)在 WinCAB 快捷工具栏的“Cabinet path and name”框中输入或利用“Browse for path and name”按钮指定 CAB 压缩包的路径及文件名。
v)在“Cabinet size”栏中指定 CAB 压缩包的尺寸。
vi)在“Compression method”框中选择合适的压缩方式。
vii)单击“Save cabinet”按钮,WinCAB 即会按照用户的要求进行压缩。
viii)压缩完成后,WinCAB 会给出一个“WinCAB Report”的报告框,向广大用户报告有关文件个数、压缩前后的文件尺寸、压缩率、压缩时间等情况。至此,一个 CAB 文件就生成了。
4. 结束语
由于 CAB 的压缩率比我们常用的 ARJ、ZIP、RAR 等压缩包要高许多(约20%),从而进一步的减少了压缩文件所占用的磁盘空间,当采用该技术在 Internet 上传输 ActiveX 控件时既减少了网络流量,也加快了网页打开的速度。
另外,由于 CAB 压缩包具有“只读”属性,在创建完成后即不允许再作任何修改、删除,因此不易受到病毒、误操作等问题的影响,安全性也具有保证,实为广大用户在 Windows 下进行文件的压缩、备份工作时的最佳选择。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:csdn面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号