还有一点:
如果你想添加一个文件作为新项目的模板,使用
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="html.html"
然后把文件(html.html)放进去。
%Userprofile%\Templates
%Allusersprofile%\Templates
%Systemroot%\ShellNew
还有一个细节:如果你想删除“Windows Live Call ”条目,请使用。
[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
1.取消选中.txt 2. 点击应用 3. 检查.txt 4. 单击 “应用"。
进入注册表编辑器,展开HKEYCLASSESROOT
进入.file_extention
在里面创建一个名为ShellNew
的键,创建一个新的字符串键,名为NullFile,没有值
例如,如果我想为一个空白的.wil对象*创建一个新条目,我会创建
[HKEY_CLASSES_ROOT\.wil\ShellNew]
NullFile = ""
如果文件扩展名如.wil不存在,我会先创建一个带有该扩展名的文件,然后双击。 wil对象我会创建
0x1&
*如果文件扩展名如.wil不存在,我会首先创建一个扩展名为.wil的文件并双击它。用我选择的程序打开它,这样就可以创建其他所需的注册表键,使你的工作更容易。
为了从列表中删除条目,这里有一个程序,它允许你从GUI中启用/禁用条目。这比搜索注册表要简单得多
不幸的是,它不允许你添加条目。
在Windows 10中,这些方法对我来说都不起作用。
我终于找到了本页,它解释说你需要引用包含名称和默认图标的另一个键。
这是创建一个条目所需的最低要求,但它不会有一个图标。
注意:第三个条目是一个新的键textfile,在.txt的(默认)值中引用
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.txt] @="textfile" [HKEY_CLASSES_ROOT\.txt\ShellNew] "NullFile"="" [HKEY_CLASSES_ROOT\textfile] @="Text Document"
这里有两种方法来指定图标
1.告诉资源管理器使用内容类型的默认图标。
[HKEY_CLASSES_ROOT\.txt] @="textfile" "Content Type"="text/plain" "PerceivedType"="text"
或者 2. 在textfile下指定一个图标,比如:
[HKEY_CLASSES_ROOT\textfile\DefaultIcon] @="%SystemRoot%\system32\imageres.dll,-102"
2:
0x1&
哦,至少对我来说,只要关闭并重新打开资源管理器(确保关闭所有实例)就足以重新加载上下文菜单。你不需要重新启动整个机器。
你没有说你使用的是什么版本的Windows–如果是XP,你可以从微软下载TweakUI PowerToy(在维基百科中也有介绍)。点击模板,然后根据你的意愿添加/删除文件类型。下面是它的样子。
看来,这里的其他解决方案已经过时了。至少在Windows 10 v. 1709 Build 16299.192中,这些对我来说都不起作用 ( 编辑 : 在1809版本中仍然有效)。我在虚拟机中做了一些测试,这是在Windows 10 1709中工作的,截至2018.01.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"
用你要添加的扩展名替换xyz
。并将XYZ test file
替换为文件扩展名的名称(例如一个.scss文件将是 “syntactically awesome style sheet file")。如果你想使用模板文件,请看下面的解释。
添加注册表文件后,可能需要重新启动Windows资源管理器。您可以通过在CMD中输入以下内容重新启动explorer.exe:
taskkill /f /im explorer.exe & start explorer.exe
代码说明:
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"
将在注册表中创建一个新的文件类型。
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""
这将使你能够对该文件格式的所有新文件使用一个模板。例如,我们可以写"template.xyz"
,然后创建一个名为 "template.xyz "的新文件,并使用它作为模板。所以每次你制作一个新的文件时,它都会被预先制作的内容所填充。正如Eduardo Molteni所提到的模板文件的路径是。%Userprofile%\Templates
, %Allusersprofile%\Templates
或整个系统的%Systemroot%\ShellNew
。在这个例子中,我们没有指定任何模板名称,因为我们不想使用任何模板。
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"
这将是上下文菜单和新创建文件的文件类型名称。据我所知,将此值留空是行不通的。
Icon:
一旦Windows将软件与文件类型相关联,就会添加该图标。
创建一个纯文本文件,并在其中添加以下一行。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""
保存文件,并将其扩展名改为.reg文件。例如:"myNewItem.reg"。确保你重命名了扩展名,而不仅仅是文件名,比如(myNewItem.reg.txt)
双击该文件,它将更新你的注册表。
下一步,也是非常重要的一步,直接重启电脑。所以,不要试图打开内容菜单,看看是否已经成功了! 首先重启你的电脑。
如果你打开内容菜单,看看你的惊人的新项目是否已经列出,注册表将被恢复……
这些信息都是官方微软的文档;通常是为那些正在注册自己新文件类型的开发人员准备的。
当用户打开Windows资源管理器中的文件菜单时,第一个命令是新建。选择该命令会显示一个子菜单。默认情况下,它包含两个命令,文件夹和快捷方式,允许用户创建子文件夹和快捷方式。这个子菜单可以扩展到包括任何文件类型的文件创建命令。
要在New子菜单中添加一个文件创建命令,你的应用程序的文件必须有一个 文件类型 与之相关联。在文件名扩展名的键下包含一个ShellNew子键。当选择文件菜单的新命令时,Shell将把它添加到新子菜单中。命令的显示字符串将是分配给程序ProgID的描述性字符串。
为ShellNew子键指定一个或多个数据值,以指定文件创建方法。可用的值如下。
Command
。执行一个应用程序,这是一个REG/子键。这是一个REG/_SZ值,指定要执行的应用程序的路径。例如,你可以将其设置为启动一个向导。Data
.创建一个包含指定数据的文件。创建一个包含指定数据的文件,数据是一个REG\SZ值。数据是一个REG\_BINARY值,包含文件的数据。如果指定了NullFile或FileName,数据将被忽略。FileName
。创建一个指定文件的副本文件。FileName是一个REG/_SZ值,设置为要复制的文件的完全限定路径。NullFile
。创建一个空文件。NullFile不分配值。如果指定了NullFile,Data和FileName的值将被忽略。示例创建一个新的空 mpy
文件。
HKEY_CLASSES_ROOT
(Default) = MyProgram.1
MyProgram.1
.myp
ShellNew
NullFile
要基于一个特定的模板文件创建一个新的文件。
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
ShellNew
FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"