如何将项目添加到“新”上下文菜单中?

131 windows context-menu

当我右键单击任意位置时,我可以选择添加具有指定扩展名的新文件。我想在此菜单中添加一些自定义文件,例如,我可以右键单击并创建一个新的 PHP 文件。

我怎样才能做到这一点?

Edu*_*eni 72

还有一件事:

如果要将文件添加为新项目的模板,请使用

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="html.html"
Run Code Online (Sandbox Code Playgroud)

然后将文件 (html.html) 放在:

  • 对于您自己的个人资料: %Userprofile%\Templates
  • 对于所有用户: %Allusersprofile%\Templates
  • 对于整个系统: %Systemroot%\ShellNew

还有一个细节:如果要删除“Windows Live Call”条目,请使用:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
Run Code Online (Sandbox Code Playgroud)

  • 如果我想为同一个程序创建两个不同模板的两个快捷方式,我该怎么办?例如,我完美地使用了这种方法为 TeXworks 的“文章”模板创建了一个上下文菜单项。我现在还想为 TeXworks 添加一个“modified_article”模板。我可以将两者都添加到上下文菜单中吗?谢谢! (3认同)
  • 在 Windows 8.1 中,您列出的模板文件夹不起作用。我收到“拒绝访问”错误。模板现在应该在的地方显然是一个称为“连接”的快捷方式文件夹——它是一个隐藏的“操作系统特定”文件。因此,Templates 文件夹现在已移动。请参阅此链接以了解新映射 (https://jimmah.com/vista/Security/junctions.aspx)。例如,显然它现在是“C:\Users\USER_NAME\AppData\Roaming\Microsoft\Windows\Templates”。 (3认同)
  • 如果有人想知道,`FileName` 条目似乎覆盖了其他答案中提到的 `NullFile` 条目。您似乎不需要删除现有的“NullFile”值。但是,同时拥有这两个条目似乎确实会混淆其他一些 3rd 方实用程序,例如 [NirSoft 的 ShellMenuNew](http://www.nirsoft.net/utils/shell_menu_new.html)。(Windows 7的) (2认同)
  • 如果您为文件提供整个路径名,我认为它不需要在 %Userprofile%Templates 等中。 (2认同)

th3*_*ude 68

要将您选择的扩展名添加到列表中:创建一个文件,添加下面的内容,将其保存为what.reg,然后运行它。

注意:将 .png 替换为您要添加的文件扩展名,并将任何内容替换为您想要的任何内容。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.png\ShellNew]
"NullFile"=""
Run Code Online (Sandbox Code Playgroud)

来源

  • 在 Windows 10、1709 中对我不起作用 :( 重新启动资源管理器并重新启动机器,仍然...... (4认同)

Wil*_*sum 18

进入注册表编辑器并展开 HKEY_CLASSES_ROOT

转到 .file_extention

并创建一个名为 ShellNew 的密钥

在里面,创建一个名为 NullFile 的新字符串键,没有值

例如,如果我想为一个空白的 .wil 对象* 创建一个新条目,我会创建

[HKEY_CLASSES_ROOT\.wil\ShellNew]
NullFile = ""
Run Code Online (Sandbox Code Playgroud)

*如果.wil 等文件扩展名不存在,我将首先创建一个具有该扩展名的文件并双击它。使用我选择的程序打开它,因为这将创建其他需要的注册表项并使您的工作更轻松。

  • 在 Windows 10 上不起作用,我也发现了这篇文章,但这也不起作用:http://www.askvg.com/how-to-add-remove-items-from-new-menu-in-windows/ (2认同)

小智 18

ShellNewHandler帮助我恢复了我的 Windows 7 shell 菜单 > 新建 > txt 文档条目。

在此处输入图片说明

  1. 取消选中.txt
  2. 点击应用
  3. 检查.txt
  4. 点击应用

  • 这是否允许您添加新条目?从屏幕截图和描述来看,它似乎没有。 (2认同)
  • 这不允许您添加条目......所以它与主题完全无关。 (2认同)

Are*_*ete 9

看来这里的其他解决方案已经过时了。至少这些在 Windows 10 v. 1709 Build 16299.192(编辑:仍然适用于版本 1809)中对我不起作用。我在 VM 中进行了一些测试,这在 Windows 10 1709 中有效,截至 2018 年 1 月 12 日:

添加注册表文件:

使用以下内容创建一个新的注册表文件:

Windows Registry Editor Version 5.00

; new file type
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

; template
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

; file type name
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"
Run Code Online (Sandbox Code Playgroud)

替换xyz为您要添加的扩展名。并替换XYZ test file为文件扩展名(例如 .scss 文件将是“语法上很棒的样式表文件”)。如果您想使用模板文件,请参阅下面的说明。

添加注册表文件后,可能需要重新启动 Windows 资源管理器。您可以通过在 CMD 中键入以下内容来重新启动 explorer.exe:

taskkill /f /im explorer.exe & start explorer.exe
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明


代码说明:

[HKEY_CLASSES_ROOT\.xyz]
@="xyz"
Run Code Online (Sandbox Code Playgroud)

将在注册表中创建一个新的文件类型。

[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""
Run Code Online (Sandbox Code Playgroud)

这将使您能够为该文件格式的所有新文件使用模板。例如,我们可以编写"template.xyz"并制作一个名为“template.xyz”的新文件,并将其用作模板。所以每次你制作一个新文件时,它都会填充预先制作的内容。正如Eduardo Molteni提到的,模板文件的路径是: %Userprofile%\Templates%Allusersprofile%\Templates或整个系统的 %Systemroot%\ShellNew. 在这个例子中,我们没有指定任何模板名称,因为我们不想使用任何。

[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"
Run Code Online (Sandbox Code Playgroud)

这将是上下文菜单和新创建的文件的文件类型名称。据我所知,将此值留空是行不通的。

图标:

一旦 Windows 将软件与文件类型相关联,就会添加该图标。

  • 很好的答案,谢谢。请注意,在 Windows 10 中,“%userprofile%\Templates”已移至“%appdata%\Microsoft\Windows\Templates”,而“%Allusersprofile%\Templates”已移至“%programdata%\Microsoft\Windows\Templates” (3认同)

Blo*_*ard 6

为了从列表中删除条目,这里有一个程序允许您从 GUI 启用/禁用条目。比搜索注册表容易得多!

不幸的是,它不允许您添加条目。


sub*_*man 6

这些方法都不适用于我在 Windows 10 中。

我终于找到了这个页面,它解释了您需要引用另一个包含名称和默认图标的键。

这是创建条目所需的最低要求,但它没有图标。

注意:第三个条目用于在.txt的(默认)值中引用的新密钥文本文件

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="textfile"

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\textfile]
@="Text Document"
Run Code Online (Sandbox Code Playgroud)

这里有两种指定图标的方法

  1. 告诉资源管理器使用内容类型的默认图标:
[HKEY_CLASSES_ROOT\.txt] 
@="textfile" 
"Content Type"="text/plain"
"PerceivedType"="text"
Run Code Online (Sandbox Code Playgroud)

或 2. 在文本文件下指定一个图标,如下所示:

[HKEY_CLASSES_ROOT\textfile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,-102"
Run Code Online (Sandbox Code Playgroud)

哦,至少对我来说,只需关闭并重新打开资源管理器(确保关闭所有实例)就足以重新加载上下文菜单。您不需要重新启动整个机器。