替换Windows系统自带记事本
Posted petewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了替换Windows系统自带记事本相关的知识,希望对你有一定的参考价值。
Windows自带的记事本打开一些简单的短小文本不错,但自带的这个记事本相应的也很残.比如查找替换功能,比如编码格式兼容问题…
为了使记事本使用更方便,我们有不少替代方案,比如 notepad2,notepad++,ultraedit…
个人比较喜欢notepad2-mod,替换分两种,一种直接改名为notepad.exe替换文件,另一种则是使用映像劫持,将名称为notepad.exe的进程劫持到我们指定的程序,以此实现启动记事本时打开我们要的notepad2.exe.
替换文件
Windows自带的notepad.exe在系统中有2~3份,64位系统则翻倍,其中必然有一份是源头,当系统发现Windows和system32目录下的notepad.exe不匹配时,则自带将其恢复.
对于xp或2003版本系统,用以下批处理即可完成:
1 |
|
如果系统文件保护功能没有关闭,替换后会有系统文件更改提示,点保留更改即可.
Windows Vista之后的系统版本系统权限控制大大加强,所以不能像Windows xp下那样直接替换文件,我们需要额外设置些系统权限才可以.
我这里装的是win8.1,权限设置和win7等是一样的,必须先得取得所有权,才可以更改用户权限.
文件夹权限设定完成后,将我们需要的notepad2.exe改名为notepad.exe,复制替换系统文件,如果想以后恢复,则建议将系统该文件改名备份处理.
当提示目标文件夹访问被拒绝时,点击”继续”按钮才可以.
此时,我们已经将文件替换完成,其他地方剩下的文件以此类推.
替换完成后,当我们打开txt或原notepad.exe关联的文件时,将调用新的notepad.exe打开,编辑网页,查看ini啥的还带格式,语法高亮,简直不是舒服一点…
notepad2有个对应名称的配置,可以实现字体设置,语法主题设置等个性化配置,每次notepad2退出或F7时会保存在同目录的ini文件中.同样的,因为系统目录权限的问题,notepad2无法保存该配置,如果需要则可以在其他地方设置保存后将其复制到system32和Windows目录,因为之前notepad2已改名为notepad.exe,所以ini名称应该为notepad.ini.
至此,手工替换系统文件实现notepad2替代自带记事本就完成了.
当然,如果需要大量部署,要么自己封装系统的时候就替换好,要么可以尝试下批处理,从网上找了一段,未验证是否可行:
1 | @echo off |
此批处理只考虑了两个目标notepad.exe,且只用于32位版本系统,自己稍加发挥修改下吧.
映像劫持
其实notepad2官方提供的安装包采用的就是映像劫持方式,这种方式的优点是不用处理复杂的系统权限,也不对系统文件造成破坏,简单方便,推荐使用.
手工修改注册表实现映像劫持注册表如下:
1 | HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options |
这个注册表项可以实现进程名劫持,官方注册表如下:
1 | Windows Registry Editor Version 5.00 |
这个注册表看着就很明白了,打开notepad.exe时实际上被转到了notepad2.exe.本机notepad2安装在Program Files目录下,自己改改路径到自己notepad2.exe所在目录就好了.如果不想折腾,直接下载官方提供的安装包吧:http://www.flos-freeware.ch/notepad2.html
为了让使用更方便,我们可以在系统右键添加一个使用记事本打开,当要打开的文档未做关联时,可以直接右键用记事本打开,提供一个注册表,将注册表导入即可.
1 | Windows Registry Editor Version 5.00 |
替代记事本下载
现成的Windows自带记事本替代方案可见:notepad2-mod
以上是关于替换Windows系统自带记事本的主要内容,如果未能解决你的问题,请参考以下文章