·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化时事 >> 论坛集萃 >> 打造个性的自解压模块, WinRAR 软件实用教程    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

打造个性的自解压模块, WinRAR 软件实用教程

作者: 寒星 来源:http://bbs.hanzify.org/index.php?showtopic=31576&p 时间:2005-03-01 点击:12791

 
打造个性的自解压模块
最近不是很忙写几篇教程与大家共享。转贴请注明原创作者---- 寒星 or 寒夜孤星
大家有什么问题,欢迎相互交流讨论!
User Posted Image
说起 WinRAR,无论大虾还是菜鸟恐怕很少有不知道的。rar 格式已成为网络上的主要压缩文件形式了。同时利用 WinRAR 制作的自解压文件也很多,但是利用默认的自解压模块做出文件基本上都是一副面孔。其实,我们可以通过自己的改造让自解压模块更符合自己的习惯,更突出自己的个性。
依照惯例先看张效果图:
User Posted Image
“工欲善其事,必先利其器”。在开始修改之前,我们要准备好以下工具备用, WinRAR 自不必说(目前的最新版为3.42),还需 UPX Shell、Resource Hacker、eXescope(这三款工具网上找到都有相应的汉化版)。
打开 WinRAR 的安装目录,找到 Default.SFX ,先要做好备份,以防在出错后及时的补救。由于 Default.SFX 被加壳压缩过,所以要先通过 UPX 将其解压。UPX Shell 是 UPX 的图形化界面程序,通过它能够方便的使用 UPX 的命令。解压后 Default.SFX 的体积由 54 KB 变为了 105 KB,这时已经可以通过工具修改 Default.SFX 中的资源了。
首先,通过 Resource Hacker 打开 Default.SFX 如图1,
[url=http://www.pcpchina.com/bbs/index.php?act=Attach&type=post&id=66537]
User Posted Image
[/url]
从左边的目录树中打开“对话框”并依次打开其子项。其中每个子项都包含3个资源,1028 为繁体中文资源,1033 为英文资源,2052 为简体中文资源。我们可以将几乎用不到的繁体中文资源以及英文资源全部剔除删掉,这样可以减小自解压模块的体积。然后我们同样剔除“字符串”及“255”中的多余资源。剔除这些资源后,可以使其体积再减小 9KB 。我们这样做的目的就是要尽可能的控制修改后自解压模块的体积,不然的话,做出来的自解压模块由于体积过大也会影响其实用性。保存一下,先暂时关闭 Resource Hacker 。
下面我们再使用 eXescope 打开 Default.SFX 如图2,
[url=http://www.pcpchina.com/bbs/index.php?act=Attach&type=post&id=66539]
User Posted Image
[/url]
在左边的目录树中找到资源,并打开其下一级目录“对话框”,其中“ASKNEXTVOL”为分卷压缩包解压提示,“GETPASSWORD1”为输入解压密码项,“LICENSEDLG”为安装协议对话框,“RENAMEDLG”为重命名对话框,“REPLACEFILEDLG”为替换文件对话框,“STARTDLG”为自解压模块的主对话框。由于“ASKNEXTVOL” 、“GETPASSWORD1”、“RENAMEDLG”、“REPLACEFILEDLG”资源对于我们的修改无关紧要,所以我们只需要修改“LICENSEDLG”与“STARTDLG”这两处重要的资源。
为了便于修改,我们先来修改“STARTDLG”中的资源,在 eXescope 中,选中“STARTDLG”,即可看到其详细信息如图3。
[url=http://www.pcpchina.com/bbs/index.php?act=Attach&type=post&id=66541]
User Posted Image
[/url]
按下 F8 即可打开“对话框编辑器”。单击其中的对象元素,可以通过即时的调节其大小与位置。如果要作细微的调整,可以直接在 eXescope 右侧的明细窗口上方相应的地方填写具体的数值。对于文字信息可以在标题中直接修改。在编辑保存后可以随时按下 F12 来预览修改后的样式。这一步也许需要反复的调整,调整到自己满意就可以。通过不断的修改,自解压模块已经有了很大的改变如图4。
[url=http://www.pcpchina.com/bbs/index.php?act=Attach&type=post&id=66543]
User Posted Image
[/url]
(提示:在利用 eXescope 修改完保存时会提示“更新整理文件大小”勾选后, eXescope 可以对自解压模块重新编辑,有利于删除文件中多余的信息,及压缩空间,可使自解压模块文件的体积减小。)
由于“LICENSEDLG”与“STARTDLG”有很多相同之处,其中的对象元素较少,所以,按照“STARTDLG”中的窗口大小,对象元素的位置,一一调整即可,这里便不再赘述。修改后,保存,做到这里基本的修改工作已经完成。(“LICENSEDLG”的界面可以与“STARTDLG”相同,也可以重新布置,但为了美观、统一风格,建议采用相同的布局设置。)
既然要做自己的自解压模块,就要突出个性。 WinRAR 默认的图标虽然看起来也很有质感,但是看多了也会觉得厌倦。我们可以利用 Photoshop 来做一些能体现自己个性的位图及图标,其中图片要求为 256 色的 BMP 位图格式,图片的宽高可以依据上一步中的设置自定;而图标则为ICO格式,具体需要4个样式,分别是 16x16 16 色,16x16 256 色,32x32 16色,32x32 256 色。如果嫌麻烦,可以找一些自己认为比较合适的资源,将其按照要求修改后使用。做好这些后,通过 Resource Hacker 打开 Default.SFX ,找到其中的图标项和位图项,按照格式,分别替换原始模块中的相应图标资源与位图资源。
如图6
User Posted Image
(建议使用色彩简单的图案或尽可能的减小位图的大小,最好能将制成的位图资源控制在 20KB 以内,因为这直接关系到最后生成的模块与制作自解压文件的体积。)
完成上一步后,个性化的修改已基本完成,如果您觉得满意,就可以跳过以下步骤。下面的步骤是为了彰显不同,以及更进一步的个性化,我们要为自己解压模块打上自己的标记。利用 Resource Hacker 打开 Default.SFX ,在“对话框”中的“STARTDLG”的窗口上适当的位置单击鼠标右键,选择“插入控件”,在“预定义”中选择“GROUPBOX”后确定。调整好“GROUPBOX”的大小后,再利用同样的方法插入“STATIC”,并在标题位置填入自己定义的信息,如图5,
[url=http://www.pcpchina.com/bbs/index.php?act=Attach&type=post&id=66544]
User Posted Image
[/url]
“编译脚本”,保存退出即可。
至此,个性化的自解压模块已经修改完毕,下面还有重要的一步就是要在利用 UPX Shell 将已经修改好的自解压模块压缩,这样WinRAR既可以减小自解压模块的大小,也有利于减小以后生成自解压文件的体积。(笔者自己修改后的自解压模块仅比默认的大了 3KB,个人对此还比较满意。)然后我们就可以利用脚本注释来制作出彰显个性的自解压程序或是做出安装程序。WinRAR就是利用自解压模块进行安装的。于是笔者便依据 WinRAR 的安装脚本做了一个 WinRAR 的安装程序。
如图6
User Posted Image
怎么样,经过一番改造,想必各位也小有成就之感吧!
User Posted Image

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): WinRAR 安装 自解压

·上一篇: 修改字体FAQ: ·下一篇: 基础知识(1)认识调试器

· 版权申明: 本文引自《http://bbs.hanzify.org/index.php?showtopic=31576&p》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《http://bbs.hanzify.org/index.php?showtopic=31576&p》[ 作者: 寒星],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号