Notepad3 替换系统自带记事本

Notepad3 替换系统自带记事本

⛔ Win11 环境下,下述映像劫持方法已失效
请使用 Notepad3 安装版。

Windows 系统自带的 Notepad 太老了,缺失很多实用的功能,完全可以使用第三方的记事本来代替它。

一般有两种方法,第一种就是直接使用第三方的记事本可执行文件直接替换 C:\Windows\System32\notepad.exe 这个文件,这种方法吧,简单粗暴,但是会替换掉系统源文件,不太好。而且如果有多个依赖文件的话,都得扔到 System32 这个系统目录下。

另一种方法就是使用映像劫持,不动系统目录下的文件,仅仅通过修改注册表来实现。

下面内容复制粘贴保存为 bat 批处理文件,放在 Notepad3 的目录下执行。

替换系统笔记本

@ECHO OFF & CD /D %~DP0
>NUL 2>&1 REG.exe query "HKU\S-1-5-19" || (
    ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
    ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
    "%TEMP%\Getadmin.vbs"
    DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
    Exit /b
)
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /f /v "Debugger" /t REG_SZ /d "\"%~dp0Notepad3.exe\" /z" >NUL 2>NUL
CLS & ECHO. & ECHO 替换完成,任意键退出! &&PAUSE>NUL & EXIT

恢复系统笔记本

@ECHO OFF & CD /D %~DP0
>NUL 2>&1 REG.exe query "HKU\S-1-5-19" || (
    ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
    ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
    "%TEMP%\Getadmin.vbs"
    DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
    Exit /b
)
taskkill /f /im notepad* >NUL 2>NUL
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /f
reg delete "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /f
ECHO. & ECHO 恢复完成,任意键退出! &&PAUSE>NUL & EXIT