写这篇日志是因为前几天完成了标题所述的这个任务,姑且记上一笔。我的一个漂亮MM同事,IE坏了,Helpdesk给她重装了IE,装完后我们公司自开发的软件图标从IE工具栏上消失了,她要我帮她加回来。
MSDN上专门有教程教人如何给IE工具栏添加按钮,我不过是照书行事。做成后再把文章内容罗列一下。
首先准备两个图标,一个是激活时的图标,另一个是默认的图标。两个图标可以存在两个.ico文件里,也可以存在一个resource文件里。再创建一个有效的GUID。
打开注册表,在HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Extensions/下用前面的GUID作名字创建一个新的键。
在{GUID}键下创建以下字符串值:
ButtonText——鼠标停留在按钮上出现的提示信息。
HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Extensions/{GUID}/ButtonText
HotIcon——鼠标留在按钮上所使用的活跃图标的路径。
Icon——鼠标不在按钮上所使用的默认图标的路径。
Default Visible——决定图标默认情况下是否出现在IE工具栏上。
按钮点击后可以执行四种行为:运行COM组件,运行脚本,运行可执行文件,打开Explorer Bar。在{GUID}下创建一个新的字符串值CLSID,对于前三种情况,设置它的值为{1FBA04EE-3024-11d2-8F1F-0000F87ABD16},表示这是CLSID_Shell_ToolbarExtExec 扩展类;对于后一种情况,设置值为{E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16},表示这是CLSID_Shell_ToolbarExtBand 扩展类。对于四种不同的行为,还分别要设置对应的值,关系如下:
COM组件——ClsidExtension
Explorer Bar——BandCLSID
脚本——Script
可执行文件——Exec