在上下文菜单中创建一个具有自定义名称的新“新建”子菜单

在上下文菜单中创建一个具有自定义名称的新“新建”子菜单

我喜欢尝试各种编码,每次尝试某件事时都要创建 html、css、js 等文件,这很累人。为了解决这个问题,我创建了模板 html、css 等文件,并将它们添加到上下文菜单中的“新建”中 (如何向“新”上下文菜单添加项目?)。

目前,我添加了 4 个项目:html、css、js 和 php。“新建”子菜单有点拥挤。现在我在想是否可以创建一个具有自定义名称(例如“编码”)的新子菜单,以便我可以添加这些文件。实际的“新建”子菜单不会那么拥挤,我可以在新子菜单下轻松访问这些编码文件。

再想想,这个新子菜单不一定非要放在上下文菜单的右侧。它可以放在“新建”菜单内。我只想将这四个文件分组。

最坏的情况是,我可以重新排序“新建”子菜单吗?我想将这四个堆叠在顶部或底部。

在此处输入图片描述


更新:我创建了一个存储库此功能。请随意查看。

答案1

我一直在寻找此问题的解决方案,但我想到最接近我想要的是在上下文菜单中添加一个新项,该新项会调用一个脚本来复制模板文件。

这不是我真正想要的,但这可能会给别人一个想法,所以无论如何我都会发布它。

首先,我寻找一种向上下文菜单添加项目的方法。例如,命令提示符。以下注册表项可以完成这项工作。

Windows Registry Editor Version 5.00

; Directory\Background\shell => on empty space

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd]
"Icon"="cmd.exe,0"
@="Command Prompt"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command]
@="cmd.exe"

; Directory\shell => on a folder

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="Command Prompt"
"Icon"="cmd.exe,0"

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k cd %1"

接下来,我想添加一个创建文件的项目,例如 CSS 文件。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\CSS]
@="Cascading Style Sheet Document"
"Icon"="%SystemRoot%\\SysWow64\\SHELL32.dll,69"

[HKEY_CLASSES_ROOT\Directory\Background\shell\CSS\command]
@="C:\\Windows\\CustomNew\\css.bat"

与命令提示符注册表项类似,这将向上下文菜单添加一个项目,但它不是运行应用程序,而是调用一个 bat 文件。bat 文件的内容:

@echo off

copy C:\Windows\ShellNew\css.css %cd%

rename css.css "New Cascading Style Sheet Document.css"

我有一个css.css模板文件C:\Windows\ShellNew。我只需在右键单击并选择的目录中复制该模板文件即可Cascading Style Sheet Document

在此处输入图片描述

当然,我不会使用这种方法。这只会让事情变得更加复杂。想象一下,在上下文菜单中直接显示所有 bat、css、html、js 和 php 文件。我仍然需要一个更好的解决方案。


更新:

我可能找到解决办法了。原文:在 Windows 7 及更高版本的桌面和“我的电脑”上下文菜单中为程序添加级联菜单 - AskVG

将自定义菜单添加到上下文菜单:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Coding]
"Icon"="C:\\Windows\\CustomNew\\coding.ico"
"MUIVerb"="Coding"
"SubCommands"="cmd;css;html;js;php;bat"
"Position"="Top"

为了使此菜单正常工作,我们需要定义这些命令,,,cmd等。例如,定义命令提示符:csshtml

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cmd]
@="Command Prompt"
"Icon"="cmd.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cmd\command]
@="cmd.exe"

单击菜单上的命令提示符将运行cmd.exe。这很简单。棘手的部分是添加创建新文件的项目/应用程序。

让我们从 CSS 文件开始。以下注册表将把该项目添加到菜单中。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\css]
@="Cascading Style Sheet Document"
"Icon"="%SystemRoot%\\System32\\shell32.dll,-151"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\css\command]
@="C:\\Windows\\CustomNew\\css.bat"

虽然我们有一个名为“层叠样式表文档”的新项目,但通常单击它不会执行任何操作。为了使其在当前文件夹中创建一个新文件,我们调用了一个脚本。

我为想要创建的每种文件类型都准备了一个批处理脚本;bat.bat、、、等css.bathtml.bat并将它们放在中C:\Windows\CustomNew。此外,我还将模板文件、、、bat.bat等放在了中。css.csshtml.htmlC:\Windows\ShellNew

因此,每当我单击菜单上的“层叠样式表文档”时,我都会调用它css.bat来复制 css 模板文件并将其放置在当前文件夹中。

css.bat文件:

@echo off

copy C:\Windows\ShellNew\css.css "%cd%"

rename css.css "New Cascading Style Sheet Document.css"

最好是创建一个新的 css 文件而不调用任何脚本,但我认为这是不可能的。不过,如果有人有任何想法,我很乐意听听。

看看它。它很漂亮:)

在此处输入图片描述

答案2

答案取自这里

要在“新建”菜单中添加项目:

  • 在运行对话框中输入 regedit 并按 Enter。现在展开“HKEY_CLASSES_ROOT”键。
  • 现在在“新建”菜单中查找您想要添加的文件类型,例如,要添加 MP3 文件类型,请查找 .MP3 键。
  • 右键单击它并选择“新建 -> 键”,并将其命名为“ShellNew”。
  • 在右侧窗格中,右键单击并选择“新建 -> 字符串值”。将其命名为“NullFile”并按 Enter。
  • 就是这样。您将立即在“新建”菜单中获得文件类型条目。

答案3

我创建了附加的 reg 文件“模板”,它有助于在 Windows 10 中创建带有两个子菜单的菜单。希望您觉得这很有用。完成子菜单后,删除 reg 文件中的所有注释。

;-------------------------------------------------

Windows 注册表编辑器版本 5.00

;添加子菜单到上下文菜单空白模板
;(1) 将“MUIVerb”=“MyNewMenu”更改为两者的顶级标题
;目录和背景菜单(两者都应该具有相同的标题)
;(2)将所有 MyMenu1 更改为整个子菜单的唯一标识符
;(3)将“MUIVerb”=“FirstCommand”更改为第一个命令名称
;(4)将 MUIVerb FirstCommand 后面的命令行 (@) 更改为所需的第一个
命令行
;(5)将“MUIVerb”=“SecondCommand”更改为第二个命令名称
;(7)将 MUIVerb SecondCommand 后面的命令行 (@) 更改为所需的秒数
命令行
;(8) 如果需要,更改图标
;(9)将文件保存为.reg文件

;右键单击目录时将显示上下文菜单
[HKEY_CLASSES_ROOT\Directory\shell\MyMenu1]
;目录级菜单标题
“MUIVerb”=“我的新菜单”
“图标”=“cmd.exe”
“ExtendedSubCommandsKey”=“目录\\ContextMenus\\MyMenu1”

;右键单击目录背景时会显示上下文菜单
[HKEY_CLASSES_ROOT\Directory\background\shell\MyMenu1]
;背景级菜单标题
“MUIVerb”=“我的新菜单”
“图标”=“cmd.exe”
“ExtendedSubCommandsKey”=“目录\\ContextMenus\\MyMenu1”

;子菜单下的第一个命令
[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\open]
“MUIVerb”=“第一个命令”
“图标”=“cmd.exe”

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\open\命令]
@="cmd.exe /s /k pushd \"%V\""

;子菜单下的第二个命令
[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\runas]
“MUIVerb”=“第二命令”
“图标”=“cmd.exe”
“HasLUAShield”=“”

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\runas\命令]
@="cmd.exe /s /k pushd \"%V\""
;-------------------------------------------------

相关内容