you happy just ok:注册表修改

来源:百度文库 编辑:偶看新闻 时间:2024/05/03 06:53:26

注册表修改鼠标右键菜单
在Windows系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里

面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操

作。不知道你是否对它感兴趣?是否想对它作一番改头换面,做出有自己特色的右键菜单

?不用着急,看完本文的大揭密,你将成为这方面的高手!


修改右键菜单应该在注册表中,具体的说,是在HKEY_CLASSES_ROOT根键下(这里可是右

键菜单中所有命令的根源哦!)。展开该根键,其下的子键主要有两种:扩展名键(.+

扩展名)和类定义键(如图1)。一般地说,只要是在windows系统中已注册过的扩展名,

在HKEY_CLASSES_ROOT下均有“·该扩展名”子键
,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“

扩展名file”键下的操作。

1、在所有的文件右键菜单中加入命令

如果你的系统上安装有Winzip、UltraEdit等,当你对任一文件点右键时,都会有“Add

to
zip”、“UltraEdit-32”等命令(当然,Winzip稍有不同,我将在后面讲到)。它的添

加方法是:

(1).打开“HKEY_CLASSES_ROOT\*”;

(2).在其下新建“shell\命令\command”分支,再将command的键值设为执行该命令时所

用的可执行程序的绝对路径,并在其后加“%1”即可。
例:在“HKEY_CLASSES_R
OOT\*”下新建“shell\用写字板打开\command”子键,将command的键值设为

“c:\windows\notepad.exe %1”,就会在右键菜单中出现“用写字板打开”的命令了(如图2)。
说明:
1. 要删除该类命令,只需将“命令”子键删除即可;
2.
有的人或许会问他按我写的去做,但是得到的为何与我的有一些不同,这就是我的命令里

有快捷键(N),只要在“用写字板打开”后加入“(&N)”即可。

2、在特定文件类型的右键菜单中加入命令
刚才说到了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(&P)\command”,将command的键值设

为“C:\Program files\winamp\winamp.exe %1” 。
说明:当有多个软件可以播放mp3文件时,我们可以在右键菜单中添加多条命令,如加入

“Play
with
Unreal”等命令,但是我们如何将某一条命令定义为默认操作(即右键菜单中的黑体命令

)呢?
你一定会说,很简单的事情吗!将mouse移向一mp3文件,在按右键的同时按shift,在右

键菜单中选“打开方式“便可更改,但是这是错误的,不信你试试看,这样只有在右键菜

单中选“打开”时才会用你所选择的程序来打开它,否则,它仍旧一如继往。因为它的默

认操作不是“打开“这条命令。真正的方法是将shell的默认键值改为你所想执行的命令

,例如将shell的键值改为“Winamp”,效果如图3所示。
还有,不知道你发现了没有,我在前面的例子中用的是“Play with
Winamp”命令,而在这里用的是“Winamp”,是不是有点不对应呢?说到这里,真是让我

心酸,本来我在txt文档中用shell进行默认操作的转换时(转换open与print)挺成功的

,但是一转换“Play
with Winamp”与“Play with
Unreal”便失败,总是转换不过来,最后才明白这可能是“瘟酒吧”的一个bug,它要求

转换时主键的键名为单个字符串时才有效。对汉字与英文的组合也有效,不过中间可不能

有空格(不知道这是否与我的Win98是D版有关?)。

如果你认为上面的方法不太方便且过于复杂,其实在Windows中还提供了不用操作注册表

的更为方便安全的方法:打开一个文件夹,选“查看/文件夹选项/文件类型”,
在这里你将会找到所有已经注册的文件类型,选择“mp3文件/编辑”,看到操作下面的“

新建”、“编辑”、“删除”、“设为默认值”这四个按钮没有?不用我再教你了吧!嘿

嘿。

3、在所有的文件夹右键菜单中加入命令
如果你用过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”主键进行操作;

(3).在“HKEY_CLASSES_ROOT”主键下还有一个folder子键,顾名思义,对它的操作将影

响所有的文件夹,包括回收站,切记切记!(图4是在回收站中添加了“Browse
with acdsee”命令)

4、在所有的文件与文件夹的右键菜单中加入命令
如果你自己开发了一个程序,它的操作对象是文件和文件夹,因此你想在所有的文件和文

件夹的右键菜单中加入特定的命令进行操作,这就得看下面的了。
打开“HKEY_CLASSES_ROOT\AllFilesystemObjects”主键,在其下新建“shell\命令

\command”,以下操作同前。

需要指出的是这只是一种解决方法,如果大家看我所抓下的图,会发现总有一个

“IconView”命令,出现在所有的文件和文件夹的右键菜单中,但是这可不是用这种方法

形成的,不妨作一下对比(如图5),这条命令是通过该软件中的应用程序扩展库

iv_shext.dll扩展而来,因此它出现在右键菜单的中部。而不是在顶部
。(什么?让我讲一下这种方法?)由于这种方法涉及到编程方面的内容,限于篇幅和主

题,我就不讲这种方法了(嘘!小声点,其实我也是不会。)

5、一些特殊命令的添加与删除

(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\*”下即可。好,还是先来找吧,我找呀找,终于找到了!(图6

)——再教你一招,就是一些特殊的命令(特别是第三方提供的软件),都是由应用程序

扩展库(.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
,键值为空,你现在再对桌面点右键,看看新建,是不是多了一点什么? 至于删除,想

各位不致让我多说了吧!

(4).剪切、复制、粘贴等命令的添加
注意,我只是谈剪切、复制、粘贴等命令的添加,也就是说对右键菜单中没有这些命令的

某些对象,可以添加,而对那些本来有就这些命令的对象,就连删除它们,我都无能为力


好,我现在以回收站为例,来进行剪切、复制、粘贴等命令的添加,具体地说,有“打开

、剪切、复制、粘贴、重命名、删除、属性”等命令的添加。
先打开“HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}”主

键,你会发现有“shellfolder”子键,在该子键下新建二进制值attributes,它的键值

就决定了这些命令在右键菜单中的显示与隐藏。具体如下:
命令
键值
打开 00 00 00 20
剪切 02 00 00 00
复制 01 00 00 00
粘贴 00 01 00 00
删除
20 00 00 00
重命名 10 00 00 00
属性 40 00 00
00
如果你要显示某些命令,只需将该命令所对应的键值相加,结果作为attributes的键值即

可。例如:当attributes值为00 00 00
00(默认)时,将不显示以上命令,当为73 01 00
20时,将显示所有的命令(如图7)。现在好了,可以将“回收站“改为你所想改的名称

了,还可以将“废物”粘贴到回收站了(不过我看这倒没有多大的作用,是吗?)


(5).“发送到”及其菜单
有的文件夹(如我的文档)的右键菜单中没有“发送到”这条命令,我们可以给它添加上

去,方法可以参考“清空回收站”命令的添加方法。就是打开“
HKEY_CLASSES_ROOT\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}

\shellex\ContextMenuHandlers”,在其下新建“{7BA4C740-9E81-11CF-99D3-

00AA004AE837}”子键,就可以了。

至于“发送到“的菜单,是不需要在注册表中对其进行操作的,它的根源是

“C:\windows\SendTo”这个文件夹,你只需在这个文件夹内新建一个快捷方式,让它指

向你所想要发送到的文件夹,就OK了(如图8,其中backup,software为新建的指向文件

夹的快捷方式)。

(6).查找

在Windows系统中,普通文件夹及驱动器的右键菜单中有“查找……”这条命令,如果我

们要在回收站中寻找误删除的文件,而此时回收站中的文件又多的话,我们就可以在回收

站的右键菜单中加入“查找……”这条命令。具体方法可以参考2,5。只是需要新建的子

键为“{61E218E0-65D3-101B-9F08-061CEAC3D50D}”。只不过命令变成了“文件或文

件夹……”(如图9)
讲了这么多,你现在应该懂如何修改右键菜单了吧?以上所讲均在Windows98中文版下通

过。最后祝大家都能把自己的右键菜单改得别具一格,得心应手!!


二、轻松修改鼠标右键菜单
操作过Windows
95/98的朋友们一定知道,通过使用鼠标右键的弹出菜单能简化许多操作,如用WINZIP来

压缩文件。因此它也逐渐“发福”起来,先是WINZIP,后是ACDSee,再是Norton
AntiVirus……你是否也想对这个弹出菜单进行修改呢?希望本文能给你一些启发。
修改文件的鼠标右键弹出菜单(以下简称弹出菜单)
运行注册表编辑器(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)在随后的编辑文件类型对话框中,按“新建”按钮,在弹出的新操作对话框中输入

一个名字(即弹出菜单上的文字),在用于操作的应用程序文本框中输入应用程序名(也

可用浏览来寻找),完成后按“确定”即可。
修改文件夹的步骤相同,只要选中文件夹就可以了。

通过这些方法,你可以将自己制作的软件加入弹出菜单,能和正版软件同占一席之地是不

是很有成就感。
三、巧妙用好右键菜单


移动和复制文件是Windows最常用的文件操作,一般都是先选中文件,然后通过鼠标右键

,选择“复制”或“剪切”命令,然后打开目标文件夹,再进行“粘贴”;再者,打开并

平铺两个资源管理器窗口,然后进行拖放操作,也能达到操作目的。(其实Windows的“发

送到”命令,是一个非常灵活的复制命令,我们可以手动添加“发送到”对象,就可以方

便的复制文件了。但是这些方法都不够灵活,或许微软意识到了这一点,在Windows
Me/XP中增加了“复制到文件夹”和“移动到文件夹”命令。它就在资源管理器的“编辑

”菜单中,不信你自己打开瞧瞧!可惜在实际应用中仍稍嫌不便。这不,笔者介绍的以下

的操作方法让你把“复制到文件夹”和“移动到文件夹”命令加到右键菜单中,从而可大

大方便操作。

1、运行“注册表编辑器”(RegEdit)。

2、在“注册表编辑器”窗口的左窗格中,依次展开“HKEY_CLASSES_ROOT\

AllFilesystem
Objects\shellex\ContextMenuHandlers”分支。

3、右键单击“ContextMenuHandlers”,选择“新建→主键”,将新主键命名为“Copy

To”。

4、选中“Copy
To”主键,在右窗格中,双击“默认”,此时弹出对话框的“数值数据”框中键入

“{C2FBB630-2971-11D1-A18C-00C04FD75D13}”。单击“确定”按钮。

5、单击“文件”菜单中的“退出”命令,关闭“注册表编辑器”窗口。
增加“移动到文件夹”命令,方法步骤同上,只是在“ContextMenuHandlers”下,新建

一个“Move
To”主键,将其值设置为“{C2FBB631-
2971-11D1-A18C-00C04FD75D13}”即可。
现在,右键单击某一文件(夹),在系统弹出的快捷菜单中,出现“复制到文件夹”和“移

动到文件夹”两个选项,点击进去试试,此时将弹出一个浏览文件夹的窗口,选择目标文

件夹后,点击确定即可实现复制或移动文件的目的。
将注册表展开到HKEY_CURRENT_
USER\Software\Microsoft\Internet
Explorer\MenuExt,在IE中显示的附加右键菜单都在这里设置,常见的“网络蚂蚁”和

“网际快车”点击右键下载的信息也存放在这里,只需找到显示广告的主键条目删除即可

=============

默认的“我的电脑”右键菜单上只有“资源管理器”、“管理”、“搜索”,能不能让这

个菜单功能更丰富一些呢?比如加入“服务”、“组策略”、“设备管理器”等等。搜索

了一下只有提问的朋友...于是摸索一番,方法如下:

1、注册表定位
打开注册表编辑器,依次展开“HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-

08002B30309D}\shell”,可以看到shell下的几个子键,分别对应”我的电脑“右键菜单

中的几项:Manage=管理,find=搜索。那么只要在这个子键下加入更多的项,就可以实现

相关功能了。

2、分析键结构
比如manage键,其默认的设置为:图[attach]1455362[/attach]
而其子键command则是其命令行:图[attach]1455363[/attach]
结构都很简单,唯独manage的值有点难以明了,即@%windir%\system32\mycomput.dll,-

400
这个值是用来定义右键名称的,对于一般用户不易查询,具体的格式为:
组件服务
.lnk=@C:\WINDOWS\system32\comres.dll,-661
计算机管理.lnk=@%SystemRoot%\system32\shell32.dll,-22023
事件查看器.lnk=@%SystemRoot%\system32\shell32.dll,-22029
性能.lnk=@%SystemRoot%\system32\shell32.dll,-22055
数据源 (ODBC).lnk=@%SystemRoot%\system32\shell32.dll,-22025
本地安全策略
.lnk=@%SystemRoot%\system32\shell32.dll,-22040
服务.lnk=@%SystemRoot%\system32\shell32.dll,-22059

最重要的是自定义成功后右键菜单没有相应的快捷方式:图[attach]1455365[/attach]

3、解决办法
以加入“服务”为例,先将manage键导出存为reg文件,然后编辑reg文件将其中的manage

改为service(呵呵,我比较懒),保存reg文件并导入注册表。下面,我们来修改

service这个键。

将service默认的“@%windir%\system32\mycomput.dll,-400” 更改为“服务(&F)”
将service下子键command中的“%windir%\system32\mmc.exe /s %windir%\system32

\compmgmt.msc” 更改为 “%windir%\system32\mmc.exe /s %windir%\system32

\services.msc”
再去点一下我的电脑右键,是不是出来了一个“服务”,而且后面有快捷键F?

总结
1)对于右键菜单顺序:默认是按照对应键的名称字母顺序排列的,如“服务”的键名是

service,“管理”是manage,那么右键菜单中“管理”就在“服务”前面。
2)对于右键菜单名称:这里改为直接输入菜单名称和快捷键,相比默认的定义方式更简

单明了,而且可以自定义相关的快捷键(但是请注意不要和“我的电脑”右键菜单中的其

他快捷键,如“属性”等重复)。
3)对于command的路径,只需要更改“%windir%\system32\mmc.exe /s %windir%

\system32\compmgmt.msc”后面的路径即可,如设备管理器为“%windir%\system32

\mmc.exe /s %windir%\system32\devmgmt.msc”,组策略为”%windir%\system32

\mmc.exe /s %windir%\system32\gpedit.msc”,对于第三方程序大家可以自己试

=========================


修改右键菜单背景

第一步,下载动态链接库文件

先下载ContextBG.dll动态链接库文件。在网上找下很容易找到都是做好的,你也可以下好

后在自己修改,在结尾介绍怎么自己修改背景图片.下好把它放到c:\\windows目录下。

第二步,添加右键弹出菜单背景图片

依次单击“开始”→“运行”,打开“运行”对话框。在“运行”对话框中输入

“regsvr32 c:\windows\ContextBG.dll”(不包括引号),单击确定,弹出一个

regsvr32加载成功的对话框。这时,再右击桌面上的图标,你就发现弹出菜单已经有

ContextBG.dll这个文件里面自带的背景图片了.

你也可以把下面的代码复制保存为bat文件,然后把它和ContextBG.dll同一目录下点击运

行!

@echo off
title 右键背景设置 by Morning
color 3F
echo ------------------------------------------------------------------------

---
echo.
echo 即将设置右键菜单背景......
echo 如果想换另一种右键背景,先卸载现在使用的背景;
echo 用软件替换ContextBG.dll中的背景图(位图)即可;
echo 注意图片大小要自己先调整好,格式为位图bmp;
echo 替换完成后保存,重新运行本程序选择启用即可,若无效果,注销一次;
echo.
echo ------------------------------------------------------------------------

---
echo.
SET /P ST= 请输入 Y (启用右键菜单背景)或 N (卸载右键菜单背景):
echo.
if /I "%ST%"=="Y" goto ST
if /I "%ST%"=="N" goto EN
echo 无效选择,按任意键退出!
pause >nul
exit

:ST
regsvr32 /s ContextBG.dll
echo 启用成功,按任意键退出!
pause >nul
exit

:EN
regsvr32/U ContextBG.dll /S
echo 卸载成功,按任意键退出!
pause >nul
exit


第三步,取消右键菜单背景图片


如果要取消右键菜单背景图片,同样在“运行”对话框中输入“regsvr32 /u

c:\\windows\\ContextBG.dll”,单击确定,出现加载成功对话框,完成对图片的卸载。

如果你想换个背景图片.你可以通过附带下载的ResHacker工具软件来修改

“ContextBG.dll”库文件进行图片的更换。

打开ResHacker工具软件,依次单击“文件→打开”,弹出打开文件对话框,指定并打开C

盘Windows文件夹下的“ContextBG.dll”动态链接库文件。然后,单击“操作”菜单下的

“替换位图”命令,弹出“替换位图”对话框。在对话框的右上角,可以清楚地看到虎哥

的图片,单击“打开新位图文件”按钮,弹出“打开”文件对话框,指定打开事先准备好

的一张位图图片(*.bmp格式图片),单击“替换”按钮完成图片替换。最后,单击“文

件”菜单中“保存”命令,保存替换图片后的动态链接库文件。

要在右击弹出菜单应用新替换的图片,必须注销或重新启动电脑后,再用上面介绍的方法

重新加载动态链接库文件就可以了。