[标题]:为Windows右键新建菜单添加菜单项
[时间]:2009-3-4
[摘要]:给新建菜单添加或删除一个菜单项,或者想可以新建自定义后缀文件类型的文件,本文是一个参考。如果"新建"中的"文本文件"不见了,本文也同样适用。
[关键字]:NullFile,ShellNew,PersistentHandler,新建,文件,自定义文件类型,注册表,添加,删除,右键,Java,PostSetup
[平台]:Windows XP SP3
[正文]:
当我想为给新建菜单添加一个菜单项时,却不知如何操作。Google了一下,发现很多种说法,很多是新建Word、Excel等。没有我想找的添加一个新建".java"文件的功能。后来找到一个添加".c"文件的《windows XP 右键新建添加 "C 源码"》(http://www.ixpub.net/thread-771544-1-13.html)。改了一下就可以完成新建".java"文件的功能了。
大致步骤如下:
1、打开cmd。
输入命令:(c:\>assoc .java=JavaSourceFile)。
执行后,cmd输出:".java=JavaSourceFile"。
2、输入命令:
(c:\>ftype JavaSourceFile="C:\EditPlus\editplus.exe %1")
执行后,cmd输出:JavaSourceFile="C:\EditPlus\editplus.exe %1"
3、新建内容如下的java.reg,并运行:
[HKEY_CLASSES_ROOT\.java]
@="JavaSourceFile"
"PerceivedType"="text"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.java\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
;当需要让新建的文件有初始内容时,只需将"NullFile"=""改为:
;"FileName"="C:\WINDOWS\SHELLNEW\HelloWorld.java"
;当然,HelloWorld.java是自己创建,然后放到SHELLNEW目录下的。
[HKEY_CLASSES_ROOT\.java\ShellNew]
"NullFile"=""
;"Java源文件"为右键中显示的名称
[HKEY_CLASSES_ROOT\JavaSourceFile]
@="Java源文件"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
;-152为记事本的图标,改成其它值就相应的变成其它图标
[HKEY_CLASSES_ROOT\JavaSourceFile\DefaultIcon]
@="shell32.dll,-152"
[HKEY_CLASSES_ROOT\JavaSourceFile\shell]
@="open"
[HKEY_CLASSES_ROOT\JavaSourceFile\shell\open]
[HKEY_CLASSES_ROOT\JavaSourceFile\shell\open\command]
@="C:\EditPlus\editplus.exe %1"
注:如果需要的话:可在"我的电脑->工具->文件夹选项->文件类型"里面修改.java文件类型的注释信息和图标。
4、刷新regedit,在桌面上点右键就可以看到新建里的"Java源文件"。点击它,就可以新建一个后缀为java的文件了。
=======================
由此想到,要想删除一个新建菜单项,可以把后缀(如.java)对应的文件类型键(如JavaSourceFile的 [HKEY_CLASSES_ROOT\JavaSourceFile])删除即可。可以根据需要将自己不用的新建项目删除掉。
=======================
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew]
和
[HKEY_USERS\S-1-5-21-1275210071-606747145-839522115-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew]
这两个项里有右键新建菜单项的列表。本以为在里面直接添加就可以了,不料里面健值有二进制数据无法编辑。即使添加了一个键,在右键新建菜单里出现了,只能点击一次,再想点就不见了。同样,删除里面的键,也只是暂时的,一会系统又会自动重建。原来,添加和删除右键新建菜单项只要按上述步骤操作,"...\PostSetup\ShellNew"里面的键会自动重建和删除。难怪手动操作无效了。
=======================
还有,有时添加"新建->文本文件"只需如下,不需要上述1和2两步:
[HKEY_CLASSES_ROOT\.txt]
@="txtfile"
"PerceivedType"="text"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.txt\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""