粤ICP备11076303号  广州青年志愿者协会医疗服务总队 www.gzyld.org.cn
加入医疗队
加入志愿者

位置:GZ医疗队公益纪实公益站长系统软件

绿色软件总教程(3)


来源:      作者:      点击:次      时间:2007-03-20

flashget是大家用得比较多的一个软件,可以多线程下载并且下载管理的功能也很方便,从天空软件站sky.com下载flashget1.60a国际版,运行一下,如图flashget_wise.PNG,然后取消安装。从图上可以看出flashget1.60a国际版是使用Wise制作的安装程序,从网上下载wungui程序,非常容易的把安装程序解压缩到一个目录中,如图flashget160a.PNG,观察Maindir目录,其中有两个DLL文件Jccatch.dll和fgiebar.dll,进一步察看这两个动态库文件的导出函数,可以知道这两个DLL文件都是自注册的COM组件,写一个批处理文件install.bat来注册这两个DLL: REGSVR32 JCCATCH.DLL /s REGSVR32 fgiebar.dll /s 经过测试,功能正常,并且可以从浏览器IE中用鼠标的右键菜单激活flashget,
功能完全,下面考虑卸载过程。
运行Regedit.exe,发现flashget在注册表中的路径是[HKEY_CURRENT_USER\\Software\\JetCar\\JetCar],写一个注册表文件unflashget.reg删除这个路径,如下:
REGEDIT4 ; flashget [-HKEY_CURRENT_USER\\Software\\JetCar\\JetCar] 同时写一个批处理文件uninstall.bat来卸载这两个DLL文件并导入unflashget.reg: Regedit unflashget.reg /s REGSVR32 JCCATCH.DLL /s /U REGSVR32 fgiebar.dll /s /U 随后就是删除一些我们用不到的文件,比如language目录的绝大多数欧洲的语言文件,这时候这个绿色版本就做好了。把制作好的绿色的flashget拷贝到U盘上,需要用的时候,直接执行里面的install.bat文件就可以了(注意,要在flashget的目录运行批处理文件),不需要任何文件拷贝。 我看到有人提到用优化大师提取falshget的注册表,然后直接导入注册表来制作绿色的flashget,这样做是不行的,从我前面的步骤来看,注册2个DLL文件必然在注册表中引入了绝对路径,那么如果直接提取注册表的话,就必须根据当前的路径来修改注册表中的路径,否则的话制作的绿色版的flashget只能在固定的目录运行。在制作flashget绿色版的时候,我同时使用了方法3和方法6,使用方法3的目的就是避免安装程序对系统作的修改,这样可以直接在当前系统进行测试,而不需要到另外一个没有安装过flashget的系统测试。 Emeditor是方法1的一个反例。Emeditor可以从开发商主页http://www.emurasoft.com/下载,是一个简单好用的文本编辑器,支持多种配置,自定义颜色、字体、工具栏、快捷键设置,可以调整行距,避免中文排列过于紧密,具有选择文本列块的功能(按ALT 键拖动鼠标),并允许无限撤消、重做,总之功能多多,使用方便,是替代记事本的最佳编辑器。 下载emed404epx.exe后,发现用Winrar可以打开,解压后,运行Emeditor,发现丢失了预定义的多种文本格式的语法配置,看来这样做不行,只好采用方法5了。请随我一步步进行,步骤如下:
1 扫描系统,制订系统快照。这里我仅仅记录当前系统的注册表(因为我认为Emeditor不会向系统目录拷贝文件,如果判断错误,就会导致"绿化"失败),运行ART(Advanced Registery Tracer),扫描一遍注册表。如图emeditor_snap.PNG,不要关闭ART。
2 安装Emeditor。随便安装到哪里,反正一会就卸载。安装好后,如果需要的话,更改配置,或者配置新的文件类型,例如我就增加了NFO文件类型,设定和NFO文件相关联的字符集,这样可以用Emeditor直接察看NFO文件,不需要专门的察看工具了。
3 记录系统变化。再一次扫描系统,给系统作快照,从ART里面再一次扫描注册表,然后选择菜单命令Registry-〉compare here或者直接用键盘F10,比较结果如图emeditor_compare.png,点击图中那个save to redo file的按钮,存储为Emeditor.reg文件,关闭ART。
4 复制并卸载。复制安装好的Emeditor目录到其他路径,然后卸载Emeditor程序。
5 分析。打开刚刚导出的Emeditor.reg文件,这是一个巨大的reg文件,单单是REG文件就有1兆多,不过不用担心。阅读注册表后,删除和emeditor无关的注册表项后,如仅仅和资源管理器相关的注册表部分,发现剩下的注册表文件可以分成3个部分。一部分在位于注册表的这个路径[HKEY_LOCAL_MACHINE\\SOFTWARE\\EmSoft],里面大部分不涉及路径,只有一项记录了Emeditor的路径,就是\"ModulePath\"=\"h:\\\\EmEditor4\\\\\";还有一大部分在注册表的这个路径下面[HKEY_CURRENT_USER\\Software\\EmSoft\\EmEditor v3],里面有很多项都涉及了Emeditor的路径,如\"Tmpl\"=\"h:\\\\EmEditor4\\\\template.xml\";还有就是和Emeditor和txt文件后缀向关联的注册表设置,把Emeditor设置为IE中缺省的源代码察看工具的注册表设置以及注册COM组件EMEDSHL.DLL的注册表部分(和InProcServer32相关的就是)。
6 "绿化"。
6.1 把位于注册表路径路径[HKEY_LOCAL_MACHINE\\SOFTWARE\\EmSoft]的内容存储到emeditor_HKLM.reg文件中,把位于注册表路径[HKEY_CURRENT_USER\\Software\\EmSoft\\EmEditor v3]的内容存储到emeditor_HKCU.reg文件中,把剩下的内容首先除掉COM组件EMEDSHL.DLL的相关部分,然后存储到emeditor_assoc.reg文件中。
6.2 把emeditor_HKLM.reg文件和emeditor_HKCU.reg文件中涉及到路径的注册表内容抽取出来,存储到emeditorConf.reg文件。
6.3 把emeditor_assoc.reg文件和emeditorConf.reg文件用INF的语法转换为INF文件,或者用一个免费小工具reg2inf.exe自动转换,然后把转换得到的emeditor_assoc.inf文件和emeditorConf.inf文件中的路径h:\\EmEditor4全部用%01%代替。下面是emeditorConf.inf文件的内容:
[Version] Signature=\"$CHICAGO$\"
[DefaultInstall] AddReg=EmeditorConf_AddReg
 
hklm,\"SOFTWARE\\EmSoft\\EmEditor v3\\Common\",\"ModulePath\",,\"%01%\\\"
hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\C++\",\"Tmpl\",,\"%01%\\template.cpp\"
hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\CSS\",\"Tmpl\",,\"%01%\\template.css\"
hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\HTML\",\"Tmpl\",,\"%01%\\template.htm\"
hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\Java\",\"Tmpl\",,\"%01%\\template.java\"
hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\javascript\",\"Tmpl\",,\"%01%\\template.js\"
hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\JSP\",\"Tmpl\",,\"%01%\\template.jsp\"
新活动 回顶部
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
最新评论 进入详细评论页>>