多年的强迫症治好了
参考自:windows - How can I add an item to the 'new' context menu? - Super User
最初修改右键新建菜单是因为本子的 win11 右键新建“文本文档”无了(因为误删了系统的 notepad ,从应用商店安装回来之后只要一打开就蓝屏,遂怒删所有 uwp 应用以解心头之恨,寻找取代系统 notepad 和添加右键新建文本文档的方法)
以 .xmind 格式为例:
Windows Registry Editor Version 5.00
; 新建文件类型
[HKEY_CLASSES_ROOT\.xmind]
@="xmind_file"
; 模板
[HKEY_CLASSES_ROOT\.xmind\ShellNew]
"FileName"="C:\Users\UserName\Documents\Templates\myTemplate.xmind"
; 新建文件名称(快捷键字母)
[HKEY_CLASSES_ROOT\xmind_file]
"FriendlyTypeName"="xmind 文件 (&X)"
; 删除注册表项
; [-HKEY_CLASSES_ROOT\.xmind]
; [-HKEY_CLASSES_ROOT\xmind_file]
其中:
FileName
字符串值用来指定模板的位置,就是说指定模板后,右键新建该类型的文件,它的内容都默认是模板的内容。FileName
可以换成NullFile
,顾名思义,模板可以没有,所以新建的文件就是空文件。- 如果用
.reg
文件添加注册表项,FileName
是默认的字符串值( REG_SZ )类型。只有在 regedit 中手动添加或在 cmd 中使用 reg.exe 才能创建可扩充字符串值( REG_EXPAND_SZ )。那创建这玩意有啥用捏?就是 REG_EXPAND_SZ 类型值可以包含环境变量,诸如:%userprofile%
,%appdata%
这种值。因此我们就可以把FileName
的值改成%userprofile%\Documents\Templates\myTemplate.xmind
了捏。那这样改干啥捏?就是方便导出和迁移。 ShellNew
项中还可以添加ItemName
,用来设置新建文件的默认名称。(我还没找到什么别的方法不使用系统缓存项里已有的字符串值(例如@%SystemRoot%\system32\notepad.exe,-470
)或在该项中创建新字符串值做为自定义名称,,,菜鸡求教各位带佬,,,有知道的麻烦告知)