一、建立框架三步走
打开“注册表编辑器”,定位到[HKEY_CLASSES _ROOT\CLSID],在其下新建子项“{00000000-0000-0000-0000-000000000000}”(该值可自定义,但必须符合类标识符的命名规则,且与同一子键下的项值不尽相同,不包括双引号,下同),并将右侧窗格的“(默认)”设为要定义的桌面图标的名称,如“完全一键通”,此外,还可以在右侧窗格新建一个字符串键值“InfoTip”,且将其值定义为当鼠标指向该图标时要显示的说明文字,如“说明文字:内含Winamp、优化大师、金山词霸等程序和各个系统目录的链接……”。接着,在[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}]主键下完成下面的操作。
小提示
由于CLSID下面分支很多,一不小心就会“迷路”,找不到当前位置,所以建议现在就选中{00000000-0000-0000-0000-000000000000},然后点选“收藏→添加到收藏夹”,把它珍藏起来。
新建子项“DefaultIcon”,在右侧窗格将“(默认)”的值改为想显示的桌面图标的ICO图标路径或“Shell32.dll”文件的内置图标,比如:E:\photo\desk.ico。
新建一个名为“InProcServer32”的子项,在右侧窗格将“(默认)”的值改为“Shell32.dll”,接着创建一个名为“ThreadingModel”的字符串值,并将其值设置为“ApartMent”。
新建子项“Shell”,并在其下继续创建一个子项“xxx”,在它下面再建立“Command”子项,其中,“xxx”应用具体字词替代,如“Open”、“Click hear”、“优化大师”等,它将决定该桌面图标的右键菜单里各个链接内容的排列顺序。接着,打开创建的子项“xxx”,在右侧窗格将“(默认)”的值改为对应程序或系统目录要显示在该桌面图标右键菜单的链接文字,如“我的浏览器”。打开创建的子项“Command”,在右侧窗格将“(默认)”的值改为对应程序或系统目录的完整路径,如“C:\Program Files\Internet Explorer\iexplore.exe”。
小提示
如果想用IE打开某个目录路径,则必须写成“Explorer /root,X:\”(“X”应替换为某个硬盘盘符)的形式。
二、增加更多功能
至此,该桌面图标已具有了最基本的功能(见图2)。但乍一看,其右键菜单只列出了相应链接文字和“创建快捷方式”,朴素得很,怎么办呢?对此,可以有选择性地继续在[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}]主键下添加下面两步操作。
创建一个名为“ShellFolder”的子项,接着在右侧窗格新建二进制键值“Attributes”,并将其值定义为以下任意一个:“01 00 00 00”(复制,即对应于该桌面图标右键菜单的“复制”命令,下同)、“02 00 00 00”(剪切)、“04 00 00 00”(粘贴)、“10 00 00 00”(重命名)、“20 00 00 00”(删除)、”40 00 00 00”(属性)。
小提示
如果想同时添加几个命令值,只需将它们对应的数值相加,如“31 00 00 00”表示在该桌面图标的右键菜单中同时添加“重命名”、“删除”、“复制”。此外,若“Attributes”的值为空或是“00 00 00 00”,那么该桌面图标还是一个系统级图标,也就是说,一切类似于删除、重命名、复制等基本操作都对它无效。
新建多级子项“ShellEx\ContextMenuHandlers \{645FF040-5081-101B-9F08-00AA002F954E}”,这样,该桌面图标的右键菜单就多出了一个“清空回收站”项,它具有与“回收站”的“清空回收站”一样的功能。
三、图标生效不必重启
经过对主体键的相关处理,该桌面图标已具有了称心的功能,这时你也许会问:我的桌面上怎么没有那个图标呢?它究竟隐于何处?难道……正如你所想的,那个图标确实还未成形,毕竟,我们的工作也还没完全结束呀。
在“注册表编辑器”里找到[HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop \NameSpace],新建一个子项“{00000000-0000-0000-0000-000000000000}”(该项值必须是在[HKEY_CLASSES_ROOT\CLSID]下定义的那个值),然后折叠好所有分支,选择最上面的“我的电脑”,按下F5刷新注册表,无需重启系统,刷新桌面后你一定会高喊“超强的系统图标终于出现了!”
小提示
建一个没有名称的图标
在桌面建立快捷方式图标时,必须要输入一个名称,如果空白则系统不会答应。我们超强的系统图标可不会受这个限制,只要修改{00000000-0000-0000-0000-000000000000}右侧窗格中“默认”的值,把它改为空,就可以做出“无标题图标”了。
四、补充秘技
补充一:当你双击该桌面图标时,它会以右键菜单的第一项(也就是加粗的)链接内容为默认打开项。
补充二:细心的你可能会发现,右键菜单的每一项链接内容的首字都会出现一条下划线,这实在有损整个菜单面的美观,其实,只要在创建多个[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\Shell\xxx\Command]时为“xxx”右侧窗格“(默认)”的值末加上字符“(&X)”(“X”可用单个的英文字母或数字代替),那么,不仅链接内容的下划线会消失,而且“(&X)”里的“X”也会成为对应项的快捷键。
补充三:如果该桌面图标的右键菜单拥有“属性”项,那么在你选取此项后系统一般会弹出一个错误提示框。对于这个问题,可以通过在[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\ShellEx]下新建双级子项“PropertySheetHandlers\{FBF23B42- E3F0-101B-8488-00AA003E56F8}”来调用“IE浏览器”的“属性”对话框。这样,桌面上多出的IE图标也就可以名正言顺地退休了。当然,还可以把其中的“{FBF23B42-E3F0-101B-8488-00AA003E56F8}”改为别的类标识符来调用“回收站”、“我的文档”等其他系统内置的“属性”对话框。
补充四:利用该桌面图标右键菜单的“创建快捷方式”命令可以把该图标拖放到系统的任意位置,比如:快速启动区、“开始”菜单、某个系统目录等。同样地,也可以把该图标的原始位置定位在“我的电脑”、“控制面板”等处。此外,在同一处还可以创建多个一模一样的图标,这在以前也是难以做到的吧。