济溪环保公益

 找回密码
 立即注册

微信登录

微信扫一扫,快速登录

搜索
查看: 1234|回复: 1

右键菜单大揭密

[复制链接]

35

主题

0

回帖

70

积分

清泉

积分
70
发表于 2011-2-3 22:26:22 | 显示全部楼层 |阅读模式
修改右键菜单应该在注册表中,具体的说,是在HKEY_CLASSES_ROOT根键下(这里可是右键菜单中所有命令的根源哦!)。展开该根键,其下的子键主要有两种:扩展名键(.+扩展名)和类定义键。一般地说,只要是在windows系统中已注册过的扩展名,在HKEY_CLASSES_ROOT下均有“·该扩展名”子键 ,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“扩展名file”键下的操作。

一、在所有的文件右键菜单中加入命令
  如果你的系统上安装有Winzip、UltraEdit等,当你对任一文件点右键时,都会有“Add to zip”、“UltraEdit-32”等命令(当然,Winzip稍有不同,我将在后面讲到)。它的添加方法是:
1.打开“HKEY_CLASSES_ROOT\*”;
2.在其下新建“shell\命令\command”分支,再将command的键值设为执行该命令时所用的可执行程序的绝对路径,并在其后加“%1”即可。
例:在“HKEY_CLASSES_ROOT\*”下新建“shell\用写字板打开\command”子键,将command的键值设为“c:\windows\notepad.exe %1”,就会在右键菜单中出现“用写字板打开”的命令了。
说明:
1. 要删除该类命令,只需将“命令”子键删除即可;
2. 有的人或许会问他按我写的去做,但是得到的为何与我的有一些不同,这就是我的命令里有快捷键(N),只要在“用写字板打开”后加入“(&N)”即可。

二、在特定文件类型的右键菜单中加入命令
  刚才说到了Winzip这个软件,对普通的文件类型,它的右键菜单中有“Add to zip”,但是对它所支持的压缩文件类型,如*.zip、*.cab、*.rar在其右键菜单中有“Open with Winzip”、“Extract to”、“Extract to folder”、“Create Self-Extractor(.EXE)” 等命令,对于自解压性安装文件(如OICQ99b),其右键菜单中有“Run with Winzip”命令。下面是特定文件类型的右键菜单的命令添加方法(以在mp3文件的右键菜单中加入Play with winamp为例):
1.打开“HKEY_CLASSES_ROOT\mp3_auto_file”主键;
2.在其下新建“shell\Play with Winamp\command”,将command的键值设为“C:\Program files\winamp\winamp.exe %1” 。
说明:
  当有多个软件可以播放mp3文件时,我们可以在右键菜单中添加多条命令,如加入“Play with Unreal”等命令,但是我们如何将某一条命令定义为默认操作(即右键菜单中的黑体命令)呢?
  你一定会说,很简单的事情吗!将mouse移向一mp3文件,在按右键的同时按shift,在右键菜单中选“打开方式“便可更改,但是这是错误的,不信你试试看,这样只有在右键菜单中选“打开”时才会用你所选择的程序来打开它,否则,它仍旧一如继往。因为它的默认操作不是“打开“这条命令。真正的方法是将shell的默认键值改为你所想执行的命令,例如将shell的键值改为“Winamp”。


三、在所有的文件夹右键菜单中加入命令
  如果你用过Acdsee这个软件,就会发现在文件夹的右键菜单中总有“Browse with acdsee”这一命令,同类的还有Pc-cillin中的Trend Pc-cillin 98命令,下面再该类命令的添加方法:
1.打开“HKEY_CLASSES_ROOT\diretory\shell”主键;
2.在其下新建“命令\command”……下面不用再说了吧!
说明:
1.如果你细心一下的话,你将会发现其实在驱动器的右键菜单中,也有“Browse with acdsee” “Trend Pc-cillin98”等命令,驱动器也是特殊的文件夹,但是通过上面的方法是无法在驱动器的右键菜单中加入命令的。如果要在其中加入命令,须对“HKEY_CLASSES_ROOT\drive\shell”主键进行操作;
2.在“HKEY_CLASSES_ROOT”主键下还有一个folder子键,顾名思义,对它的操作将影响所有的文件夹,包括回收站,切记切记!

四、在所有的文件与文件夹的右键菜单中加入命令
  如果你自己开发了一个程序,它的操作对象是文件和文件夹,因此你想在所有的文件和文件夹的右键菜单中加入特定的命令进行操作,这就得看下面的了。
打开“HKEY_CLASSES_ROOT\AllFilesystemObjects”主键,在其下新建“shell\命令\command”,以下操作同前。
  需要指出的是这只是一种解决方法,如果大家看我所抓下的图,会发现总有一个“IconView”命令,出现在所有的文件和文件夹的右键菜单中,但是这可不是用这种方法形成的,不妨作一下对比,这条命令是通过该软件中的应用程序扩展库iv_shext.dll扩展而来,因此它出现在右键菜单的中部。而不是在顶部 。(什么?让我讲一下这种方法?)由于这种方法涉及到编程方面的内容,限于篇幅和主题,我就不讲这种方法了(嘘!小声点,其实我也是不会。)

五、一些特殊命令的添加与删除
1.资源管理器
  在Windows系统中,普通文件夹、驱动器、回收站等的右键菜单中都有“资源管理器“命令,如果你只想在驱动器中保留该命令,可以先在“HKEY_CLASSES_ROOT\folder\shell”主键中删除explore子键,然后在“HKEY_CLASSES_ROOT\drive\shell”主键中新建“explore\command”子键,令commmand的键值为“C:\WINDOWS\Explorer.exe/e,/idlist,%I,%L”怎么样,成功了吧!
2.清空回收站
在Windows系统中,只有在回收站的右键菜单中才有“清空回收站”的命令,是不是太不方便了呢,好,我们可以经过一番改造,让所有的文件菜单中都有“清空回收站”的命令,follow me!
我们的思路是先找出“清空回收站”这个命令的来源,然后将其照搬到“HKEY_CLASSES_ROOT\*”下即可。好,还是先来找吧,我找呀找,终于找到了!——再教你一招,就是一些特殊的命令(特别是第三方提供的软件),都是由应用程序扩展库(.DLL)扩展而来,在注册表的“shellex\ContextMenuHandlers”中便能找到它的痕迹。 我们打开“HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E} \shellex\ContextMenuHandlers”,可以发现其下有一名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,这就是“清空回收站”命令的根源了。
  找到了根源,就容易多了,在“HKEY_CLASSES\ROOT\*\shellex\ContextMenuHandlers”下新建一键名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,怎么样,够酷吧!
3.新建命令的子命令的添加与删除
  不知道有没有遇到这种情况:你经常自己手工编写网页,在单位的机器上的新建命令中有“新建html文档”的命令,但是你的机器上却没有,还有,随着各种软件的不断增加,你的新建命令弹出子命令的时间越来越长,够呛的吧! 不要紧,不用急,让我来帮你把该出来的叫出来,不该来的让它回去!
  打开“HKEY_CLASSES\ROOT\.htm”,添加一主键shellnew,然后新建字符串值NullFile ,键值为空,你现在再对桌面点右键,看看新建,是不是多了一点什么? 至于删除,想各位不致让我多说了吧!
发表于 2011-2-4 11:13:44 | 显示全部楼层
对于这一系列的···指令 字符神马的不知道还不敏感~担心二级怎吗办~
跑遍天下 看遍好鸟  1/100  差距啊!忍住!努力之 有几个老铁    3/6       还有2个我想要的挖 治拖延症 起码早1天完成 1/5   现在身上还背着好多作业 找到或者是再找些自信  3/10     木自信是罪恶的源泉
您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

小黑屋|手机版|济溪 ( 京ICP备17053947号-1 )

GMT+8, 2025-6-18 05:10 , Processed in 0.027936 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表