. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#1 旧 2004-06-01, 16:23:55 默认 【原创】 打造绿色的Emeditor for 2000,xp,2003
lyh728 当前离线  

打造绿色的Emeditor for 2000,xp,2003

Emeditor可以从开发商主页http://www.emurasoft.com/下载,是一个简单好用的文本编辑器,支持多种配置,自定义颜色、字体、工具栏、快捷键设置,可以调整行距,避免中文排列过于紧密,具有选择文本列块的功能(按ALT 键拖动鼠标),并允许无限撤消、重做,总之功能多多,使用方便,是替代记事本的最佳编辑器。
下载emed404epx.exe后,发现用Winrar可以打开,解压后,运行Emeditor,发现丢失了预定义的多种文本格式的语法配置,看来这样做不行,只好采用先安装一遍,分析注册表,然后卸载的方法了。请随我一步步进行,步骤如下:
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
[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"
hkcu,"Software\EmSoft\EmEditor v3\Config\Perl","Tmpl",,"%01%\template.pl"
hkcu,"Software\EmSoft\EmEditor v3\Config\PHP","Tmpl",,"%01%\template.php"
hkcu,"Software\EmSoft\EmEditor v3\Config\Python","Tmpl",,"%01%\template.py"
hkcu,"Software\EmSoft\EmEditor v3\Config\Ruby","Tmpl",,"%01%\template.rb"
hkcu,"Software\EmSoft\EmEditor v3\Config\TeX","Tmpl",,"%01%\template.tex"
hkcu,"Software\EmSoft\EmEditor v3\Config\VBScript","Tmpl",,"%01%\template.vbs"
hkcu,"Software\EmSoft\EmEditor v3\Config\VBScript for EmEditor","Tmpl",,"%01%\template.vbee"
hkcu,"Software\EmSoft\EmEditor v3\Config\Windows Script","Tmpl",,"%01%\template.wsf"
hkcu,"Software\EmSoft\EmEditor v3\Config\XML","Tmpl",,"%01%\template.xml"

6.4 写一个批处理文件install.bat,内容如下:
regedit emeditor_HKLM.reg
regedit emeditor_HKCU.reg
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\emeditorConf.inf
regsvr32 EMEDSHL.DLL
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\emeditor_assoc.inf


6.5 把install.bat,emeditorConf.inf,emeditor_assoc.inf,emeditor_HKLM.reg,emeditor_HKCU.reg5个文件存储到Emeditor的目录,删除其余的注册表文件。
6.6 根据安装步骤和install.bat,写出相应的卸载的批处理文件,这个比较简单。
经过测试后,Emeditor工作正常,也可以注释掉install.bat的最后2行语句,这样Emeditor就不会和系统关联,上面的步骤是在windows 2000上的,对于win9x也同样,而且win9x下面的emeditor的配置文件和windows 2000的一样,仅仅是程序的版本不同。
把制作好的绿色的emeditor拷贝到U盘上,需要用的时候,直接执行里面的install.bat文件就可以了(注意,要在Emeditor的目录运行批处理文件),不需要任何文件拷贝。

把我打包的文件解开到硬盘某个分区的某个路径如e:\tools\emeditor,然后进入该目录,直接运行EmEditor4_Conf.exe,我没有写卸载的批处理文件,因为我从来没有觉得需要卸载emeditor。
上传的图像
文件类型: png emeditor_compare.PNG (15.2 KB, 168 次查看)
文件类型: png emeditor_snap.PNG (18.9 KB, 169 次查看)
悬铃木
 
悬铃木 的头像
超级会员
 
资 料:
注册日期: Sep 2003
帖子: 1,335 声望值: 4
精华: 0,解答: 1
#2 旧 2004-06-01, 16:35:16 默认
悬铃木 当前离线  

赞一个,收藏
学了不少。。。
nansin3000
 
nansin3000 的头像
热心会员
 
资 料:
注册日期: Sep 2001
帖子: 2,523 声望值: 4
精华: 0,解答: 1
#3 旧 2004-06-01, 16:35:59 默认
nansin3000 当前离线  

好,拿现成的绿色来用


OWNSKYMUSIC
感谢论坛!
缓存
 
缓存 的头像
支柱会员
 
资 料:
注册日期: Aug 2002
帖子: 6,373 声望值: 3
精华: 0,解答: 15
#4 旧 2004-06-01, 16:42:03 默认
缓存 当前离线  

lyh728实在是强人, 佩服中@@

文章看不懂, 附件先下载一个哈~


_____________________________@
悬铃木
 
悬铃木 的头像
超级会员
 
资 料:
注册日期: Sep 2003
帖子: 1,335 声望值: 4
精华: 0,解答: 1
#5 旧 2004-06-01, 16:46:09 默认
悬铃木 当前离线  

icon图标显示不出来?
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#6 旧 2004-06-01, 16:51:41 默认
lyh728 当前离线  

怎么我原来排版好的文本文件的格式信息都丢了。似乎前导的空格被忽略了

配置后,对系统的影响仅仅是 取代了notepad和txt 文件的关联
取代了 notepad察看 ie 中的网页的源代码功能
其他方面无影响

如果 不想要这样的关联 ,请不要 在 批处理文件中执行
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\emeditor_assoc.inf
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#7 旧 2004-06-01, 16:57:08 默认
lyh728 当前离线  

引用:
作者: 悬铃木
icon图标显示不出来?
是我把 emedres.dll 这个文件用 upx 压缩了,导致无法找到图标 ,

要不你把原版的文件用winrar 解压缩,替换我提供的相应文件,就可以了

不过 我从没有关心过图标,不好意思啊,只注意功能了,汗ing :blush;
Nbb
 
Nbb 的头像
核心会员
 
资 料:
注册日期: Nov 2001
帖子: 2,620 声望值: 3
精华: 1,解答: 4
#8 旧 2004-06-01, 17:06:52 默认
Nbb 当前离线  

英文的?有中文版本吗?
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#9 旧 2004-06-01, 17:11:45 默认
lyh728 当前离线  

引用:
作者: Nbb
英文的?有中文版本吗?
我没有使用汉化版,
你可以找一个 汉化版,把解压缩后 的文件 ,与 EmEditor4_Conf.exe 配合,就可以了
那位试一试?
我手上没有汉化版
landy
 
landy 的头像
核心会员
 
资 料:
注册日期: Oct 2002
帖子: 2,635 声望值: 3
精华: 0,解答: 5
#10 旧 2004-06-01, 17:13:34 默认
landy 当前离线  

请问自定义和工具栏的设置在注册表中的哪一项?
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#11 旧 2004-06-01, 17:18:36 默认
lyh728 当前离线  

引用:
作者: landy
请问自定义和工具栏的设置在注册表中的哪一项?
没有仔细寻找,

你只需要 在 自定义 好后,把把位于注册表路径路径[HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft]的内容存储到emeditor_HKLM.reg文件中,把位于注册表路径[HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3]的内容存储到emeditor_HKCU.reg文件中

就可以了,然后替换我放在EmEditor4_Conf.exe里面的相应2个文件就可以了

只要里面不涉及新的路径信息,就可以
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#12 旧 2004-06-01, 17:50:46 默认
lyh728 当前离线  

转贴一段讨论:

在很多情况下可以用replace,但是 inf 是微软公司的标准安装文件,所有的版本都直接支持,而不需要外部命令。

用什么命令? sed 命令?至少win9x 里面没有自带类似的工具吧(如果有,就告诉我)。

在有些情况下,是不能replace的
如果注册表里面涉及到 unicode的路径 ,你也可以 replace吗?
请看
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Favorites"=hex(2):67,00,3a,00,5c,00,4d,00,79,00,57,00,69,00,6e,00,44,00,61,00,74,00,61,00,5c,00,46,00,61,00,76,00,6f,00,72,00,69,00,74,00,65,00,73,00,00,00,00,00

这个路径,你可以replace 吗?

呵呵,当然我用inf 的目的就是 它通用,而且os内置支持,可以安装服务等等

也不排除 repalce 可以在大多数时候起作用,最初我也是想用replace的
后来才转到inf 的方法

欢迎 探讨,提出不同意见 ,只有这样,才能进步
imation
 
imation 的头像
高级会员
 
资 料:
注册日期: Oct 2001
帖子: 798 声望值: 2
精华: 0
#13 旧 2004-06-01, 20:46:45 默认
imation 当前离线  

谢谢
拿来用了
lyh728
 
lyh728 的头像
『软件使用』版主
 
资 料:
注册日期: Jan 2002
帖子: 4,283 声望值: 3
精华: 15,解答: 4
#14 旧 2004-06-01, 21:35:16 默认
lyh728 当前离线  

虽然看起来过程很复杂,但是实际上就是

导出注册表,想办法替换路径,


我写个这个过程应该是一种通用的过程,可以看作是一个例子
zjsheng
 
zjsheng 的头像
超级会员
 
资 料:
注册日期: Mar 2002
帖子: 1,983 声望值: 3
精华: 1,解答: 1
#15 旧 2004-06-01, 23:20:43 默认
zjsheng 当前离线  

试用了一下,其实Emeditor不用配置注册表也能用,它是真正绿色的。如果要和txt等文件类型相关联,可以“工具”=》“关联扩展名”里添加。
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 07:20:56.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号