通过读了以前的各位大侠的帖子后,知道,如果直接用自己的应用程序修改注册表,可以达到再右键中加入菜单,但是不能关联到当前的文件,而另一种办法好像是要在注册表注册一个键值,然后关联一个动态库,请问这个动态库是如何实现的?最好给一个例子。

解决方案 »

  1.   

    shell扩展,www.codeproject.com上有例子,需要你对com有点了解
      

  2.   

    给系统资源管理器右键菜单增添新功能一、在软驱的右键菜单中添加“清空A盘”功能  当我们需要删除软盘上的全部内容时,这个功能将会大大简化我们的操作。运行“regedit”,进入HKEY_CLASSES_ROOT\Drive\Shell主键,在其下新建一个“EmptyA”子键,将其默认值设为“清空A盘”(该提示将出现在软驱的右键菜单中),在此“EmptyA”子键下再新建“Command”子键,将其默认值设为“deltree/y A:”,按F5键刷新后关闭注册表编辑器  
    。使用这个命令时需小心,因为它不经过提示就会直接在MS-DOS窗口中删除你软盘中的所有文件。  二、在右键快捷菜单中加入“打开方式”命令  当我们按着Shift键的同时右键单击某一文件,将会在快捷菜单中看到“打开方式”命令,可以很灵活地选用不同的程序来打开文件。其实你也可以在右键快捷菜单中直接加入“打开方式”命令。首先在HKEY_CLASSES_ROOT\*下新建一个“Shell”主键,在其下再新建一个“OpenWith”子键,将其默认值设为“打开方式”,然后在“OpenWith”子键下新建“Command”子键,设其默认值为“C:\Windows\rundll32.exe Shell32.dll,OpenAs_RunDLL %1”(注意大小写及空格),按F5键刷新后关闭注册表编辑器即可。 
      

  3.   

    呵呵,解决了吗?
    用windows优化大师也可以很快的实现.
      

  4.   

    右键打开记事本  安装ACDSee、WinZip等软件后,其程序项目会出现在系统的右键菜单中,以方便用户调用程序。我们也可将记事本放入右键菜单后,只要对文件点击右键,选择“记事本”,便能快速地调用记事本打开该文件。   在右键菜单中加入“记事本”项目的方法如下:运行注册表编辑程序Regedit.exe,打开[HKEY_CLASSES_ROOT\*\shell]子键,在“shell”下新建一个“记事本”主键,在“记事本”下新建一个“COMMAND”主键,选定“COMMAND”,双击右部窗口中的“默认”,在弹出对话框的“键值”文本框中输入“notepad.exe %1”,最后关闭注册表编辑器。 
      

  5.   

    awnucel(三十功名臣与土※八千里路云和月)(峰宸) 你好:这样做能够把自己的程序跟当前点击的程序文件名称关联起来吗?
    我试了一下,好像何以打开我得应用程序。但是没有打开那个文件?
    不知为何?
      

  6.   

    修改注册表 打造个性化右键菜单 --------------------------------------------------------------------------------
     
    http://www.sina.com.cn 2002/01/16 13:01 赛迪网--中国电脑教育报 
     
      文/刘玉莲  鼠标右键菜单中有很多快捷命令,给用户日常操作带来了极大的方便。但是,不知您注意到没有,当鼠标右键菜单弹出的时候,其中的项目是否合您心意呢?是不是有的命令您并不需要,而您需要的却又不在上面呢?或者是英文选项使您不知其意……哈,如果糊里糊涂地使用右键命令,肯定不能提高工作效率。那就让我们略施小计,让鼠标右键菜单命令真正为己所用吧。 
      以下方法,主要通过编辑注册表来实现,所以请一定事先备份注册表。方法是:点击“开始/运行”,填入“regedit”打开注册表编辑器,选择“导出注册表文件”就可以了。  添加右键命令  您所希望使用的命令如果不在右键菜单中,就要靠我们自己把它“加”进去。让我们来看几个添加实例,把握了基本方法,就可触类旁通,添加一切命令。
    图1 用右键快捷命令重启计算机。  “重新启动计算机”是经常需要做的工作,可是它的实现要通过点击“开始/关闭系统/重新启动计算机/确定”好几个步骤的操作,比较麻烦,如果可以通过右键快捷命令随时随地重启就更方便了。要添加“重新启动计算机”到右键菜单中,方法是:打开注册表编辑器,定位到“HKEY_LOCAL_MACHINE\Software\CLASSES\Directory\shell”,在其下新建一个名为“Restart”的子键,然后双击右侧窗口中的“默认”,将数值设为“重新启动计算机”。接下来,在“Restart”子键下再建一个子项,命名为“command”,双击右侧窗口中的“默认”,将数值设为“C:\WINDOWS\RUNDLL.EXE USER.EXE,EXITWINDOWSEXEC”。回车退出后,鼠标右键单击任意文件夹或“开始”按钮,在弹出的菜单中,用户就可以选择“重新启动计算机”命令了(如图1)。  除了“回收站”本身,其他文件的右键菜单都没有“清空回收站”命令,那么我们也可以给它加上。在“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”下新建主键“{645FF040-5081-101B-9F08-00AA002F954E}”,确定后退出注册表,当右击任何文件时,其快捷菜单都会有一个“清空回收站”的选项。  删除右键命令  右键菜单选项良莠不齐,一些没用的命令应毫不留情地删除。在上网时常会遇到IE首页或标题栏被更改的情况,对此大家已经见怪不怪了。可是最近又有一种新的源代码,在右键菜单把自己的网站名字加上,在你用右键的时候就会出现在弹出的菜单中,虽然不影响使用,但一个不怎么样的网站实在不值得留在右键菜单中,而且长长的右键菜单也有碍雅观。去掉它的办法是:打开注册表编辑器,找到“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt”,你就会看到令人讨厌的网址,将其删除,右键就不会再出现那些网站的名字了。  有时我们正常卸载某个应用程序后,在右键菜单中仍会遗留下一些不再需要的项目,同样需要将其删除。这些遗留项目一般都存放在“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”;如果是只对文件夹有效的项目,则存放在“HKEY_CLASSES_ROOT\Directory\shell”和“HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers”,有时在“HKEY_CLASSES_ROOT\Folder\shell”和“HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers”也有,找到后将他们删除即可。  不想让右键菜单显示怎么办呢?比如要禁止右键单击“开始”弹出的菜单。在“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer”下新建键值“NoTrayContextMenu”,赋值为“1”,这样在“开始”按钮上单击右键时就不会出现快捷菜单。  汉化右键命令  有时在一些程序中使用右键时,所弹出的右键菜单中一些命令用英文显示,如果英文不好就会“一头雾水”。其实,它们是可以汉化的。比如安装了网络蚂蚁后,当用户浏览网页时如果单击鼠标右键,会发现在菜单中多了“Download All by NetAnts”,感到它和其他的中文选项有点不谐调。汉化它的办法是:打开注册表编辑器,定位到“HKEY_CURRENT_USER\Soft-ware\Microsoft\Internet Explorer\MenuExt\Download &&All by NetAnts”,再用鼠标右键单击“Download &&All by NetAnts”子键,在出现的快捷菜单中选择“重命名”,则“Download &&All by NetAnts”子键即变为可编辑状态,此时可将其修改为“全部由网络蚂蚁下载”,回车后,重新启动浏览器,汉化内容生效。  雪鸟:方法虽好,还要勤加修炼。编辑注册表的作用,绝不仅仅是修改右键菜单这么有限,Windows系统的很多奥妙,都在其中。多尝试几次,捅破了窗户纸,你会发现,规律就在眼前。 http://tech.sina.com.cn/c/2002-01-16/8472.html