鼠标右键菜单优化指南

/ns/cn/jc/data/20071230124549.htm

精简篇:

一、去掉新建菜单中的无用项.
1.在桌面上点右键→新建→任意选择一个建立,记下它的扩展名,这里我建立的Photoshop图像,扩展名为psd.

2.找开RegWorkshop,双击打开HKEY_CLASSES_ROOT根键,可以看到下面有许多".xxx"的主键,这里登记的就是windows中扩展名与应用程序的对应关系(比如txt文件与记事本程序notepad.exe对应).



3.找到.psd主键(快捷方法:选中任意主键,然后在快速键入.psd,程序就会自动切换到该主键),双击打开该键,看到下面有个ShellNew主键,选中ShellNew,查看右侧窗口,可以看到一个NullFile的空字串,将ShellNew主键直接删除即可.



4,需要说明的几点:
①对于.txt主键下的ShellNew建议保留,经常在用到.
②有些扩展名的ShellNew键右边没有NullFile字串,如.rar,如图,这种情况,要在新建中去掉的话,建议将ShellNew主键改为ShellNew-,以便以后还可以改回.



③比较特殊的一个:写字板文档,主键名为.doc,它下面有4个ShellNew,我们照上面的方法,只删掉有NullFile字串的主键.




④有些应用程序在打开时会查找ShellNew主键,发现不存在或改动时就会新建一个,对付方法:设置权限,右击ShellNew主键,选择"权限",在弹出的窗口中将用户权限设为"拒绝".



知识点:
1.注册表中的根键(指可以编辑器中看到的)只有5个,分别是:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG
2.子键(或称主键):在这些主键下面的键全部称为主键.
3.键值:每个键对应的右窗口中的项目称为该键的键值,常用的有:字符串、可扩充字符串、DWORD值和二进制值.
4.数据:赋予键值的字符称为该键值的数据.
5.①字符串:可键入所有合法字符做为数据.
②可扩充字符串:跟字符串类似,但可以键入变量,如%SystemRoot%\system32\notepad.exe
③二进制值:可以用来表示任意长度的整数,在注册表中以十六进制方式表示.
④DWORD值:一般用作真假判断,0表示假;1表示真.

二、所有文件右键菜单.
1.举例:比如我安装了avast! Antivirus和一个小工具,现在右键变成这样.



2.找开RegWorkshop,双击打开HKEY_CLASSES_ROOT根键,打开*主键(*表示所有文件),下面有两个与右键相关的键:Shell和Shellex\ContextMenuHandlers.

Shell:这个键下面一般为以下结构:
HKEY_CLASSES_ROOT\*\shell
HKEY_CLASSES_ROOT\*\shell\open
HKEY_CLASSES_ROOT\*\shell\open\command
表明*键与command子键中所指定的应用程序建立了关联.

Shellex:说明*键的文件类型与Windows系统中的外壳扩展中的属性页句柄建立了关联.在Shellex\ContextMenuHandlers键下面,子键名一般为{454F08EA-A099-4353-834C-8A66147D4A0F}形式,或该键的默认键值为这种形式.

知识点:{454F08EA-A099-4353-834C-8A66147D4A0F}在此键中一般是程序在注册表中注册的CLSID.
CLSID是class ID的缩写.对于每个组件类,都需要分配一个唯一表示它的代码,就是ID,为了避免冲突,微软使用GUID作为CLSID,有生成GUID的函数,主要是根据当时的时间、机器地址等信息动态产生,理论上可保证全球唯一.

3.打开Shell键,在下面找到了Go Dos和Go Explorer两项,删除.



4.打开shellex\ContextMenuHandlers键,在下面找到了avast键,删除.



现在随便点个文件看看效果,呵呵.已经没有了.



三、文件夹右键菜单.
1.在文件夹上点右键,看一下多了三项:Go Dos、MS-DOS和复制路径.



2.找到Directory主键(文件夹),打开下面的Shell键,果然发现了Go Dos和MSDOS子键,



细心的朋友一定发现了,在菜单上显示的是MS-DOS,便这里怎么变MSDOS了.原来菜单上显示的文字是在该键的默认值中设置的.


现在我们将默认数值清空看看效果,现在它就以MSDOS键名做了菜单文字,并默认第一个字母为快捷键.(指定快捷键的方法:在需要用做快捷键的字母前加&.如MS&DOS,主键或数据中均可).



3.打开Directory\shellex\ContextMenuHandlers,找到Ninotech Path Copy,这就是在菜单中出现的"复制路径".这里需要说明的是,有些程序放到右键菜单中的文字不是写在注册表中的,而是在DLL文件中,就像此例,处理这种情况要谨慎.



四、驱动器右键菜单.
1.看看驱动器的右键菜单,也多了个Go Dos选项.



2.找到Drive主键,或在地址栏键入HKEY_CLASSES_ROOT\Drive,转到该键.打开Shell子键,删掉下面的Go Dos键.



五、资料夹右键菜单.
1.它在注册表中的名称为Folder,笼统的说就是包括文件夹和驱动器在内.具体是如何定义和区分的尚未搞清(PS:有懂的朋友麻烦指点一下).
2.如果你的文件夹和驱动器右键中有相同的菜单,但是在HKEY_CLASSES_ROOT\Directory和HKEY_CLASSES_ROOT\Drive中都找不到话,那它一定是放在了这个键下面.
3.上文提到我安装了avast! Antivirus,它就是在HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers中写入的.处理方法有两种:禁用和删除,禁用方法:在默认数据前面或后面加"-".



六、特定类型右键菜单.
1.TXT文件:找到.txt主键,在右侧窗口中默认字串上点右键选择"转到引用的注册表项",这时就会转到一个名为txtfile的主键,然后照上面的方法删掉相关项即可.




小知识:在HKEY_CLASSES_ROOT中,一个扩展名一般都两个键,分别为.xxx和xxxfile,其中xxxfile叫做.xxx的主文件类型,该键记录了这种类型文件的图标、右键菜单、默认打开方式等.

2.未知类型右键菜单:HKEY_CLASSES_ROOT\Unknown

3.IE右键菜单:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt,直接Del掉不需要的主键即可.



七、其它清理.
1.清除桌面右键→排列图标中的无用项,用XP的朋友会发现右键菜单中多了以下几项,



如果用不到的话可以在注册表中禁用.打开注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右侧新建DWORD值,然后改名为"NoActiveDesktop",双击,键入数据1,注销一下即可.



2.去掉Intel集成显卡的桌面右键菜单:在运行中输入regsvr32 /u igfxpph.dll,重新注册:regsvr32 igfxpph.dll

禁用篇:

1.禁用系统右键菜单:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右面增加DWORD值:NoViewContextMenu,并赋予数据1.
2.禁用任务栏右键菜单:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右面增加DWORD值:NoTrayContextMenu,并赋予数据1.

经验:在windows禁用的项目大都在这个键下面.

增强篇:

一、手工添加法:学会了精简,增强也就不难了,就是把以上方法逆着来做.
1.为文件夹右键添加"命令提示符",打开HKEY_CLASSES_ROOT\Directory\shell,在下面新建主键cmd并改右侧窗口中的默认字串为"命令提示符",然后在cmd下建立子键command,改右侧窗口中的默认字串为cmd.exe /k "cd %L"

2.为未知扩展名的文件右键添加"用记事本打开",打开HKEY_CLASSES_ROOT\Unknown\shell,在下面新建主键open并改右侧窗口中的默认字串为"用记事本打开",然后在open下建立子键command,改右侧窗口中的默认字串为C:\windows\system32\notepad.exe %1

3.为DLL文件右键添加"注册控件"和"注销控件",打开HKEY_CLASSES_ROOT\dllfile\shell,在下面新建主键RegSvr并改右侧窗口中的默认字串为"注册控件",然后在RegSvr下建立子键command,改右侧窗口中的默认字串为regsvr32 %1;同样在HKEY_CLASSES_ROOT\dllfile\shell下新建主键UnRegSvr并改右侧窗口中的默认字串为"注销控件",然后在UnRegSvr下建立子键command,改右侧窗口中的默认字串为 regsvr32 /u %1

二、脚本添加法:
1.何为注册表脚本:注册表脚本是后缀名为reg,有固定格式,双击导入后即可完成对注册相关键值的添加、删除、修改等的文本文件.

2.格式:
REGEDIT4 ;如果是2K/XP系统的话,写成Windows Registry Editor Version 5.00
;必须空一行!
[注册表路径]
@="数据" ;修改默认字串.
"键值"="数据" ;修改或添加字串.
"键值"=hex:数据 ;修改或添加二进制值.
"键值"=dword:数据 ;修改或添加DWORD值.
"键值"=- ;删除键值.
;最后也必须空一行!~


3.删除主键示例:
REGEDIT4

[-HKEY_CURRENT_USER\Software\FlashFXP]

;

4.以上三项的添加脚本:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\dllfile\shell]

[HKEY_CLASSES_ROOT\dllfile\shell\RegSvr]
@="注册控件"

[HKEY_CLASSES_ROOT\dllfile\shell\RegSvr\Command]
@="regsvr32 %1"

[HKEY_CLASSES_ROOT\dllfile\shell\UnRegSvr]
@="注销控件"

[HKEY_CLASSES_ROOT\dllfile\shell\UnRegSvr\Command]
@="regsvr32 /u %1"

;
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="命令提示符"

[HKEY_CLASSES_ROOT\Directory\shell\cmd\Command]
@="cmd.exe /k \"cd %L\""

;
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell\open]
@="用记事本打开"

[HKEY_CLASSES_ROOT\Unknown\shell\open\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"

;
说明:1.脚本中路径必须用\\来代替\.
2.给路径添加引号:"C:\WINDOWS\SYSTEM32\NOTEPAD.EXE" 在脚本中写成"\"C:\\WINDOWS\\SYSTEM32\\NOTEPAD.EXE\""

修复篇:

1.reg文件双击不能导入,而是调用记事本打开.在该文件上点击右键后发现编辑成了默认项.



2.修复方法:打开HKEY_CLASSES_ROOT\regfile\shell,看到右边的默认字串被改成了edit,清空该项即可.


小技巧:将默认字串改为print的话,双击就变成打印文件啦.

右键相关工具:

1.关闭光驱:在光驱右键中添加"关闭"选项.
2.PathCopy:在文件右键中添加如下选项.
3.Total Copy:当用鼠标右键拖动文件时,会出现如下选项.
4.ContextEdit:功能强大的右键菜单编辑工具,可完成以上所有操作.
5.Unlocker:解锁被进程调用的文件,使之可以被删除.
6.RegWorkshop:堪称完美的注册表编辑工具.强推!
=========================
文章类型:转载 提交:a32232a 核查:NetDemon