首先要使用 Guidgen.exe(这个上网找找应该有,是Visual Studio里的一个工具) 计算出** 一个 CLSID 。
为了方便,请在WindowsXP的“运行”或者Windows7的搜索栏里输入“regedit”来打开注册表编辑器
进入注册表编辑器里面后,进入 HKEY_CLASSES_ROOT\CLSID 新建一个项,名称就是刚从guidgen里计算出的注册表格式的GUID。
例如我的CLSID是{22AFE113-191B-438C-93B6-2BCC7866A6F0},就新建一个以这个为名称的项。
在右侧的窗体能够看到这个项包含的值,默认值对应的是图标的标签,在里面新建一个名叫“InfoTip”的字符串值,这个值对应鼠标移动到图标上显示的提示信息。
在这个项下面新建 DefaultIcon、Shell,在Shell里面新建Open子项,里面包含一个Command子项。
DefaultIcon里的默认值对应的是图标文件,Shell包含的子项对应的是右键菜单项,Shell的默认值对应的是双击时应该执行哪一个子项。也就是说,下面的子项Opne就是动作。你可以增加多个动作以丰富你的右键菜单。每个动作都对应一个Command子项,默认值就是要执行的动作。
然后在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace 新建一个对应名称的子项
好了,刷新一下桌面,看看效果吧!
如果想在我的电脑里面显示你的自定义图标,则用相同的方法在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace添加你的CLSID,控制面板里添加就在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Control Panel\NameSpace里面添加。看出规律了吧?其他地方应该不用我解释了吧?(´・ω・`)
不想要的话就找回CLSID把所有的更改撤销即可,也就说你要是需要继续更改的话必须记得你的CLSID不然找起来可麻烦了。
建议新建两个.reg 文件,一个文件是添加图标的,一个文件是删除图标的,那么双击这些文件就能添加或者撤销更改,方便多了。
要是想研究出更多丰富的功能,只要在注册表里找出一些系统图标的CLSID项或者扩展名项,查看里面相似的地方的值即可研究出来,相信聪明的你能够玩出更多花样。
*某些U盘助手用的也是这个原理,只是他们不是把固定的值写在注册表而是引用他们自己的程序 or 函数库里面的值(查看一下我的文档等系统文件夹的CLSID或许更容易理解),而值是程序里的变量,所以右键菜单才能那么多姿多彩,这个方法有编程能力的童鞋可以试试。
** CLSID其实不一定要计算出来的,只要你填写的CLSID不在系统内出现就没问题。举个栗子:一个系统创建的CLSID的结尾是 b0fa71f5ecb1 ,另一个是 b0fa71f5ecb3 ,那么只要在中间插一个结尾为 b0fa71f5ecb2 的CLSID就可以保证没事了。
博主研究的基础来自 http://forums.mozillazine.org/viewtopic.php?t=182427 的内容
Guidgen.exe 可在我分享的笔记里找到:
https://www.evernote.com/shard/s313/sh/c78feb02-d299-46b7-969f-e35ae6bdbf5b/110cc55a00bc79af08002c9526d4ab6f
第一次上果壳写日志请多多关照, 如文章有什么不妥的地方请立即微博联系博主。( http://weibo.com/lingerkong)