|
1.添加新菜单项
如何添加一个菜单项到微软Internet Explorer浏览器的“工具”(Tools)下拉菜单中?这个新添加的菜单项表示运行一个Microsoft Win32应用程序,或者表示运行一个脚本程序。
注意:下面描述的添加菜单项的步骤都是针对访问机器的全部用户而言的,如果想为每一个不同用户添加菜单,可以在下面的步骤中用HKEY_CURRENT_USER替换HKEY_LOCAL_MACHINE。
建立一个正确的全局唯一表示符,即GUID。它可以使用诸如GUIDGEN(Visual Studio光盘中有)等工具生成,它是一组128位的二进制数字,这些数字可以保证在“任何空间和时间”里独一无二,没有重复。在空间,是由于数字生成器会读取网卡的ID号码;在时间,是由于同时会用到系统的日期和时间。可用GUID标识COM类(此时叫作CLSID)或者COM接口(IID)。尽管名字不同,但基本概念与二进制结构都是相同的。GUID亦可在其他环境中使用,这里不再赘述。
现在我运行GUIDGEN.EXE获得一个GUID{93D80854-9DCB-426d-947D-F20CCC2F451B},如图13:
 图13
在下面的注册表项目下建立一个新项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{93D80854-9DCB-426d-947D-F20CCC2F451B}
(可选步骤)在下面的注册表项目下,建立一个新的字符串数值MenuCustomize:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\MenuCustomize
如果需要添加的新菜单项出现在浏览器的“帮助”(HELP)菜单下,就设置MenuCustomize的数值为“help”。如果设置成其他数值,或者根本没有设置MenuCustomize,菜单项将最终出现在“工具”(Tools)菜单下面。
在下面的注册表项目下,创建一个新的字符串数值CLSID:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{93D80854-9DCB-426d-947D-F20CCC2F451B}
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{93D80854-9DCB-426d-947D-F20CCC2F451B}\CLSID
设置CLSID的数值为{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}。
在下面的注册表项目下,创建一个新的字符串数值MenuText:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{93D80854-9DCB-426d-947D-F20CCC2F451B}
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{93D80854-9DCB-426d-947D-F20CCC2F451B}\MenuText
将MenuText的数值设置为在工具菜单中显示的文字。注意,文字不支持任何为了实现快捷键而需要的下划线。
(可选步骤)在下面的注册表项目下,创建一个新的字符串数值MenuStatusBar :
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{93D80854-9DCB-426d-947D-F20CCC2F451B}
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\MenuStatusBar
MenuStatusBar中设置的文字,表示当菜单项高亮度选中时,在浏览器的状态栏中显示的信息,为了给用户一个明白的意思,请设置文字为该菜单项执行程序或者执行脚本的确切含义。
添加细节
完成了上面的初始步骤后,就需要进一步添加键的数值。具体的数值以及下面的其他步骤要依赖于菜单项表示的实际运行程序的类型。下面将讨论可能的几个程序类型及其添加细节:
COM对象
下面的步骤将实现在浏览器的“工具”菜单下创建一个执行COM对象的菜单项。同样,如果省略任何一个步骤(除去可选的),最终都不会达到添加菜单项的目的。而且,描述的步骤都是针对访问机器的全部用户而言的,如果想为每一个不同用户添加菜单,可以在下面的步骤中用HKEY_CURRENT_USER替换HKEY_LOCAL_MACHINE。
注册COM对象
在下面的注册表项目下,创建一个新的字符串数值ClsidExtension:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\ClsidExtension
将ClsidExtension设置为COM对象的GUID。
而且,COM对象必须执行IOleCommandTarget。如果COM对象需要访问页面上的DHTML对象模型,就必须执行IObjectWithSite。
脚本
下面的步骤将实现在浏览器的“工具”菜单下创建一个执行脚本程序的菜单项。同样,如果省略任何一个步骤(除去可选的),最终都不会达到添加菜单项的目的。而且,描述的步骤都是针对访问机器的全部用户而言的,如果想为每一个不同用户添加菜单,可以在下面的步骤中用HKEY_CURRENT_USER替换HKEY_LOCAL_MACHINE。
在下面的注册表项目下,创建一个新的字符串数值Script:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\Script
设置Script的数值为要运行脚本的全路径。
执行程序
下面的步骤将实现在浏览器的“工具”菜单下创建一个执行.exe文件的菜单项。同样,如果省略任何一个步骤(除去可选的),最终都不会达到添加菜单项的目的。而且,描述的步骤都是针对访问机器的全部用户而言的,如果想为每一个不同用户添加菜单,可以在下面的步骤中用HKEY_CURRENT_USER替换HKEY_LOCAL_MACHINE。
在下面的注册表项目下,创建一个新的字符串数值Exec:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>
建立正确后,就象下面一样:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Your GUID>\Exec
设置Exec的数值为要运行.exe文件的全路径。我增添了“POWERPOINT”菜单项之后的效果如图14:
 图14
2.自制IE工具栏按钮的三种方法
不知你注意到没有,在安装了网络蚂蚁Netants以后,在IE工具栏里面会出现Netants的图标,如果能让自己经常用的程序都出现在IE工具栏上,那该有多方便啊!其实,我们完全可以对其进行自定义,添加想设置的按钮,具体的方法有很多,修改注册表和用VBScript就是其中两种较简便的方法。
原来,工具栏图标在注册表里面的位置是在HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions这个主键下(与高级技巧1相同),打开这个主键以后你会看到一些分支,其中就有Netants对应的ID值:“{57E91B47-F40A-11D1-B792-444553540000}”,双击这个ID值,你可以在右边看到一些字串值,如:“Button”、“CLSID”、“Default Visible”、“Exec”、“HotIcon”、“Icon”、“MenuText”、“MenuStatusBar”等等,其中CLSID为IE工具条的类标识码,恒为“{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}”。其它的字串值的含义如下,见表15。
 图15
ButtonText:自定义按钮上显示的文本。
Default Visible:控制自定义按钮是否可见,一般为“Yes”。
Exec:自定义按钮执行的目标,可以为执行程序或超文本链接。
HotIcon:鼠标移到按钮上时显示的图标。
Icon:定义一般情况下的图标。
MenuText:定义了鼠标指向浏览器工具菜单栏中的Netants时,在浏览器状态栏里面的内容。
MenuStatusBar:定义了当鼠标指向IE“工具”菜单中的相关选项里面的相关文字的时候,在状态拦所显示的相关说明。如在IE的“工具”菜单中鼠标指向Netants,在状态栏显示的是“Launch NetAnts”。
修改方法:展开注册表到HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions这个主键,然后选中它,按下鼠标右键,选择“新建”→“主键”,取名为一个GUID,做法与高级技巧1相同。我这里是{0CC0A212-3B6E-44c8-B373-EECFF5960E33},然后选择这个ID值,在右边新建“ButtonText”、“CLSID”、“Default Visible”、“Exec”、“HotIcon”、“Icon”、“MenuText”、“MenuStatusBar”这几个字串值,修改“ButtonText”、“CLSID”、“Default Visible”、“Exec”、“HotIcon”、“Icon”、“MenuText”、“MenuStatusBar”这几个串值为目标值,其中“CLSID”必须修改为“{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}”,否则无效。
具体实例:如果想在IE工具栏里面新建一个“Dreamweaver MX”的工具图标,按照以下方法操作即可:
(1)展开注册表到HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions这个主键,按下鼠标右键,选择新建主键,命名为“{0CC0A212-3B6E-44c8-B373-EECFF5960E33}”。
(2)然后选择这个ID值,点击鼠标右键,在弹出的菜单中选择“新建”→“串值”,将新建的串值命名为“ButtonText”,修改其值为“Dreamweaver MX”;
①同理,新建串值“CLSID”,其值为“{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}”;
②新建串值“Default Visible”,其值为“yes”;
③新建串值“Exec”,其值为“E:\Program Files\Macromedia\Dreamweaver MX\Dreamweaver.exe”;
④新建串值“HotIcon”,其值为“E:\Program Files\Macromedia\Dreamweaver MX\Dreamweaver.exe,344”;(最后的数字请用“图标查看器”www.newhua.com/soft/7519.htm求得,如图16)
 图16
⑤新建串值“Icon”,其值为“E:\Program Files\Macromedia\Dreamweaver MX\Dreamweaver.exe,434”;(最后的数字的求法同④,即图表16中的第三个)
⑥新建串值“MenuText”,其值为“Dreamweaver MX中文版”
⑦新建串值“MenuStatusBar”,其值为“Dreamweaver MX”。如图17:
 图17
(3)打开IE,单击“查看”→“工具栏”→“自定义”,在自定义工具栏窗口里面可以看到增加的“Dreamweaver MX”图标,只需点“添加”按钮,把它添加到工具栏即可。如图表18:
 图18
(出处:yesky) |