摘要:通过修改注册表的方式提升Windows使用体验、提高工作效率!
文章说明
文章作者:鴻塵
文章链接:https://hwame.top/20210904/make-your-windows-productive.html
参考资料:
1.替换系统记事本
众所周知,Windows自带的记事本notepad及其简陋,有时候只想查看一下文件内容但又不想打开IDE,这时候一个简单的带语法高亮的记事本就派上用场了。
通过 映像劫持 实现将Notepad2替换系统自带的记事本。
说明①: Notepad2网上有很多版本,本人自用的【Notepad2】是仅有1.86M的单文件绿色版,所有配置 写死 到文件中,因此没有配置文件、没有主题文件、无法修改配置。
说明②: Notepad2有些新的版本自带了「系统集成」的功能,可以一键替换,但我没有找到无需配置文件的单文件版,因此手动修改注册表。
说明③: Notepad3支持的语法高亮更多,比如Markdown格式,奈何花里胡哨不在我的审美上。
参考文章: https://my.oschina.net/u/2304110/blog/419536
所谓「映像劫持」,就是Image File Execution Options,是
CreateProcess
函数中的一个功能,即在可执行程序运行时,Windows会先检测对应IFEO中的Debugger
值,如果存在这个参数的话,就运行这个参数中指定的程序。其实现原理为,修改Image File Execution Options键值后,在有notepad.exe运行请求的时候,就欺骗系统转而运行notepad2.exe,从而实现将原本系统默认的记事本改成了功能更为全面的Notepad2。
这种方式不但不需要修改文件关联,也无需修改系统文件,避免了以往的文件替换法导致的系统更新后就失效的问题。
具体步骤如下:
- 下载Notepad2.exe单文件,【阿里云盘】,【Github下载】,版权信息如下:
- 将其放在与原notepad.exe相同的位置,即
C:\Windows\System32\Notepad2.exe
。尽管这一步非必须,但仍建议这么做。 Win+R
运行输入regedit
打开注册表,创建如下注册表项:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe
,如果无法修改,需要先右键取得权限。- 在
notepad.exe
注册表项中,右键创建名为Debugger
的字符串值(REG_SZ
),如图: - 将字符串值
Debugger
的数值数据修改为Notepad2.exe的完整路径,最后以/z
参数结尾,即"C:\WINDOWS\system32\Notepad2.exe" /z
,如图: - 至此文本文件用记事本打开即可,还可右键增加「用记事本打开」及图标,见下文。
2.右键用记事本打开
上面已经将记事本替换成强大的Notepad2,但是一般情况下只有txt
等文本文件才可直接用记事本打开。虽然可以右键选择打开方式,但未免太麻烦;那如果勾选「始终使用此应用打开xxx文件」,又会改变默认的打开方式,不符合我们的预期。例如bat
文件双击运行,我们想用记事本打开查看内容就只能右键打开方式了。因此右键菜单增加「用记事本打开」也算是一个比较实用的提高生产力的功能了。
具体步骤如下:
Win+R
运行输入regedit
打开注册表,创建如下注册表项:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\notepad
,双击默认
将数值数据修改为「用记事本打开」,如图:- 我们也可以为右键菜单添加一个记事本图标。如上图,在
notepad
项下新建一个名为Icon
的 字符串值 ,将其数值数据修改为Notepad2.exe的文件路径C:\Windows\System32\notepad2.exe
。 - 在
notepad
项下新建一个名为command
的 项 (即子项),双击默认
将数值数据修改为「notepad %1
」,注意空格,如图:
3.右键打开命令行
有时候我们需要在特定目录下打开命令行,通常会在开始菜单或运行中打开,此时路径一般为C:\Users\鴻塵
或C:\Windows\System32
,然后一层一层切换过去。
在右键菜单中添加「在此处打开命令行」,可以直接定位到当前文件夹,免去cd
之苦。
本文打开命令行仅以普通用户权限,因为我的组策略已修改为「管理权限创建任务」,若有需要以管理员身份打开命令行,请移步参考文章。
具体步骤如下:
- 右键打开CMD
Win+R
运行输入regedit
打开注册表,创建如下注册表项:计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere
,将「默认」字符串值的数值数据为「在此处打开命令行窗口」。此处项值和数值数据可随意。- 在
OpenCmdHere
项下新建一个名为Icon
的 字符串值 ,将其数值数据修改为cmd.exe的文件路径cmd.exe
。 - 在
OpenCmdHere
项下新建一个名为command
的 项 (即子项),双击默认
将数值数据修改为「cmd.exe /s /k pushd "%V"
」。 - 此处步骤与上文右键用记事本打开类似,简要截图如下:
- 右键打开PowerShell
Win+R
运行输入regedit
打开注册表,创建如下注册表项:计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell_Here
,「默认」字符串值的数值数据为「在此处打开PowerShell」。此处项值和数值数据可随意。- 在
Powershell_Here
项下新建一个名为Icon
的 字符串值 ,将其数值数据修改为powershell.exe的文件路径powershell.exe
。 - 在
Powershell_Here
项下新建一个名为command
的 项 (即子项),双击默认
将数值数据修改为「powershell.exe -noexit -command Set-Location '%V'
」。 - 截图略。
说明: 增加图标时没有写文件的完整路径,因为路径已在环境变量中,故上文右键用记事本打开中设置图标同理可简写。
4.右键复制文件路径
当我们需要用到某文件的绝对路径时,怎么获取该字符串呢?是先地址栏复制目录再复制文件名,还是文件属性的安全里面去复制对象名称?
因此在右键菜单添加一个复制文件(夹)路径,也能提高生产力。
但是我不会告诉你,选中文件(夹)后按住Shift
右键就有「复制为路径」的选项!所以这里修改注册表其实也是多此一举,但是有多少人知道这种「复制为路径」的方法呢?
方法1.0来自吾爱破解论坛用户tmdgdx的评论,详见https://www.52pojie.cn/forum.php?mod=viewthread&tid=1374242&page=1#pid36998334。1
2
3
4
5
6
7
8
9
10
11Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\copypath]
@="复制文件夹路径"
[HKEY_CLASSES_ROOT\Directory\shell\copypath\command]
@="mshta vbscript:clipboarddata.setdata(\"text\",\"%1\")(close)"
[HKEY_CLASSES_ROOT\*\shell\copypath]
@="复制文件路径"
[HKEY_CLASSES_ROOT\*\shell\copypath\command]
@="mshta vbscript:clipboarddata.setdata(\"text\",\"%1\")(close)"
上述mshta这种方法有两个问题:
- ①复制exe等格式的文件时会有类似「是否运行xxx」的警告;
- ②复制链接例如快捷方式会复制源文件路径,而不是快捷方式本身的路径。
推荐使用在Win10右键菜单中添加「复制路径」选项中的方法2.0:
1 | Windows Registry Editor Version 5.00 |
其中"Icon"="imageres.dll,-5302"
可以改成4
,换成文件夹风格图标,如图所示:
5.Windows照片查看器
众所周知,Win10自带的「照片」极其难用,甚至可能需要安装第三方替代软件,这让我们不得不感叹还是Win7时代的「Windows照片查看器」最经典。
通过修改注册表的方式恢复「Windows照片查看器」,并且设置为默认。
具体步骤如下:
Win+R
运行输入regedit
打开注册表,定位到如下注册表项:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations
。- 在
FileAssociations
项下新建一个名为.jpg
的 字符串值 ,将其数值数据修改为PhotoViewer.FileAssoc.Tiff
。 - 同样新建其他图片后缀名的字符串值,例如
.jpeg
、.png
、.gif
、.bmp
、.ico
等,数值数据皆为PhotoViewer.FileAssoc.Tiff
,添加完成后的注册表如图所示: - 双击图片打开时选择「Windows照片查看器」并勾选「始终使用此应用打开.xxx文件」即可设置为默认方式。若已设置其他为默认,右键打开方式选择其他应用,即可设置默认。如图所示:
注意①: 并非所有格式的图片都能用「Windows照片查看器」打开,如.webp
、.svg
等。
注意②: 新建的 字符串值 名称为图片扩展名,且有一个点.
。