给文件添加右键菜单的方法主要有修改注册表,编写COM组件两种方式,当然这个只是我知道的,或许还有其他我所不知道的方法。今天我要分享的是如何通过添加注册表来达到创建自定义菜单的目的。
在XP系统上通过注册表添加自定义菜单,只能创建一级菜单而且不能给菜单添加图标。WIN7及之后的系统支持注册表添加多级菜单并且可以添加菜单图标。下面是以WIN7为例进行说明添加的步骤:
1、打开注册表编辑器:开始,运行,输入regedit,回车
2.找到[HKEY_CLASSES_ROOT\*\shell],右键添加一个项,这里我是用的test,然后test项下增加三个键:
icon="C:\music.ico",
MUIVerb="自定义菜单",
SubCommands=testSubMenu.0;testSubMenu.1;testSubMenu.2;testSubMenu.3
Icon是设置菜单图标,MUIVerb是菜单项名称,第三项要注意,分号分隔的是你要添加在二级菜单下的程序,MS规定二级菜单下最多只能添加16个项目,这里的二级菜单项如何设置,稍后解释。"icon"="<图标所在绝对地址>",MUIVerb="<一级菜单显示名称>",SubCommands="<二级菜单项一;二级菜单项二;二级菜单项三;二级菜单项四;二级菜单项五;...>"。
3.接下来开始设置二级菜单了,首先定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell]
根据刚才添加的SubCommands的键值,每个分号分割的项目在这里以其名字新建项目,注意,名字一定要相同,否则不会成功!! 将其默认键值设为二级项目的显示名字,新建一个键命名icon,值为图标所在绝对地址,例如一级菜单项SubCommands第一个分号前的名字为testSubMenu.0,那么在[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell]下新建testSubMenu.0项,默认键值为"自定义二级菜单一",icon="C:\music.ico",然后在[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\testSubMenu.0]下新建command项,默认键值"C:\test.exe" "%1",即运行test.exe并将文件路径作为参数传递给test.exe。到此就添加了一个二级菜单项,依次添加n个项目(n<=16)
4.至此完成了 一个二级菜单的添加,其实到这里和软媒添加二级菜单的功能一样,但是我们可以用同样的方法再添加两个二级菜单,至此就完成了刚才假设要添加的三个菜单项。截图如下: