我想在右键单击一个文件的弹出菜单中加一项自己的功能,比如说“文件加密”,
就在注册表中打开HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*,用鼠标右键单击*号,选择新建主键,输入名字:shell,再用鼠标右键单击刚做好的shell,再建“文件加密”的主键,在HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\应用程序名字下边增加个叫command的主键, 修改command 为"C:\Program Files\myjiami.EXE"%1 
这样,在资源管理器中右键单击一个文件的弹出菜单中就有了用写字板打开这一项,每次右键单击一个文件,选中文件加密,就运行了myjiami.EXE
但是问题也来了
比如,有一些文件:像视频、音频文件不右键单击,而是直接双击的时候,不是用的REALPLAY、等一些媒体播放软件打开的,而是运行的myjiami.EXE程序,我可不想在一个文件在双击的时候运行“文件加密”这一功能,大家明白了我的意思了吗?
winrar做得就比较好,我就想实现象WINRAR类似的功能,右键单击,可以选择功能。而在双击的时候,WINRAR就不会弹出winrar的窗口 那怎么办呢?在注册表里还要怎样改一下啊?

解决方案 »

  1.   

    啊... 这个偶不是很清楚,不过你可以看一下WinRar在注册表里的设置呀~~
      

  2.   

    修改文件的鼠标右键弹出菜单(以下简称弹出菜单)  运行注册表编辑器(regedit.exe),打开“我的电脑\HKEY_CLASSES_ROOT\*\shellex\ ContextMenuHandler”分支。该分支下有两个主键HexWorkshopContextMenu和Winzip(笔者的电脑中装有Winzip和HexWorkshop),删去后即可发现原来文件的弹出菜单上的Hex edit 和Add to Zip两项不见了。当要在弹出菜单中添加一些可执行文件时(以notepad为例),可进行如下操作:
      1.在“我的电脑\HKEY_CLASSES_ROOT\*”下新建一个名为shell的主键。
      2.在“shell”下新建名为aaa(aaa即是显示于弹出菜单中的文字,这里假设用“用笔记本打开”代替)的主键。
      3.在aaa下新建名为command的主键,修改其右默认的键值为“c:\windows\notepad.exe %1”(%1表示该文件不带参数,而只运行笔记本程序)即可。
      4.需再添加新的菜单项重复步骤2、3即可。
      这样,在弹出菜单上就出现了“用笔记本打开”这一选项,在打开未与笔记本建立关联的文件时避免了从许多打开方式中去重复选择笔记本的麻烦,而且可以用多种方式打开同一文件而不改变该文件原来的关联(如同时用photoshop和ACDSee打开一图片),增加了文件打开方式的灵活程度。修改驱动器和文件夹的弹出菜单  1.驱动器弹出菜单的修改
      (1)修改方法同上面文件的弹出菜单的修改基本一样,运行注册表编辑器,打开“我的电脑\HKEY_CLASSES_ROOT\DRIVE”,其下有三个主键DefaultIcon、shell和shellex。
      (2)打开shell可以看见find和Browse with ACDSee(笔者的机器上装有ACDSee),这也是显示在弹出菜单上的文字,如将Browse with ACDSee改为别的名字,如“用ACDSee浏览”时,则英文变成汉语“用ACDSee浏览”。添加菜单项同样需要在shell下添加新主键,删除菜单项则只要删除对应的主键,如删HexWorkshop,则删去shellex下的ContextMenuHandlers主键下的HexWorkshopContextMenu主键即可。
      2.文件夹弹出菜单的修改
      文件夹弹出菜单的修改比较复杂,涉及两个主键Directory和Folder(同样位于“我的电脑\HKEY_ CLASSES_ROOT\”下)的修改。其中修改Folder主键后对驱动器弹出菜单也有影响(修改Drive主键不会影响其他),如在Folder\Shell主键下添加新主键(设名为aaaa),则同时会在驱动器和文件夹弹出菜单中出现aaaa这一项,删除也同样会对两者产生影响,如删除Folder\Shell下的explore和open主键,两者弹出菜单的资源管理器和打开两项就会消失。要删除驱动器弹出菜单的winzip项,则删去Folder\Shellex\Context MenuHandlers下的winzip主键即可。而删除文件夹弹出菜单的winzip项,还要删去Directory\Shellex \ContextMenuHandlers下的winzip主键。只对文件夹弹出菜单进行增删,需对Directory操作就行了(操作主键Directory不会影响驱动器的弹出菜单)。如删去查找菜单项,只需去掉Directory\Shell下的find主键,添加则在Shell下添新主键。
      3.从“文件夹选项”中修改
      这种方法比较简单,类似对文件建立关联,方法如下:
      (1)双击“我的电脑”,打开“查看/文件夹选项”(对于Windows98,还可以单击“开始/设置/文件夹选项”)。
      (2)单击“文件类型”标签,从中选中“驱动器”,然后按“编辑”按钮。
      (3)在随后的编辑文件类型对话框中,按“新建”按钮,在弹出的新操作对话框中输入一个名字(即弹出菜单上的文字),在用于操作的应用程序文本框中输入应用程序名(也可用浏览来寻找),完成后按“确定”即可。
      修改文件夹的步骤相同,只要选中文件夹就可以了。
      

  3.   

    楼上的兄弟,我用的就是这种方法,右键单击没有问题
    主要问题是有时候在双击某种文件的时候,不是正常打开或者运行的,而是运行了myjiami.EXE这个程序,就是说我该了注册表以后破坏了这种类型文件的关联
    还需要改写什么呢?winrar是通过shellex下的ContextMenuHandlers主键下的winrar实现的,但是我按照它的修改方法试了一下,不行 有谁能告诉我怎么按照WINRAR的方法修改注册表吗?