我想实现这样的功能:在IE(或其它浏览器)的工具栏添加一个按钮,通过点击这个按钮执行一个程序或脚本
,这个程序或脚本的任务是获取当前浏览器正在浏览的网址,如www.sina.com,然后再继续下面的工作.
和下面的这个例子很相似,只是实现的功能不同,但这个我试了也还是不行!
请高手指点一下!!!谢谢!!!
IE工具栏按钮的开发
在安装了网际快车、网络蚂蚁和金山系列软件后,均会在IE工具栏或“工具”菜单中添加相应的按钮
和菜单项。下面让我们利用IE提供的接口实现IE工具栏按钮的二次开发。
(一)相关知识点
添加IE任务栏按钮需对注册表进行多步操作,因此建议读者先备份注册表。通过对已有IE任务栏按钮
的相应注册表项进行分析,得出修改注册表的基本步骤,具体如下所述:
1.创建GUID
在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions\CmdMapping下建
立一个GUID(Globally Unique IDentifier,全局唯一描述符)。
本例建立的DWORD值名称是“{FB5A1910-F110-11d2-BB9E-00C04F795683}”,其值为“0000200c”(值
由NextId键值决定)。
建立完毕,在同一主键下有一个重要的键值需修改,即NextId。建议在修改前记录NextId值,在建立
GUID需将该值递增1,如原NextId为“dword:00002009”,那么建立新GUID后,NextId值应修改为
“dword:000020a”(按十六进制计算)。
2.创建注册表项
在注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions下添加一个新项
,名称为刚才建立的GUID名称。
以下介绍的键位置,如未指定,均用“<Test IE GUID>”来代表
(HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\<Test IE GUID>”)。
3.设置按钮图标
在<Test IE GUID>下新建一个String类型值,名称为“HotIcon”,该值代表当按钮获取焦点时的图
标,一般包括图标文件全路径名和图标索引,如“C:\Program Files\Messenger\MSMSGS.EXE,302”,也
可直接输入图标文件名。
在<Test IE GUID>下新建一个String类型值,名称为“Icon”,该值代表当按钮失去焦点时的图标,
一般包括图标文件全路径名和图标索引,也可直接输入图标文件名。
4.设置提示内容
在<Test IE GUID>下建立一个新的字符串类型值,名称为“MenuText”,该值代表按钮在IE的“工具
”菜单中显示的内容。
5.设置是否可视
在<Test IE GUID>下建立一个新的字符串类型值,名称为“Default Visible”,该值代表按钮是否
可视,如可视,则该值设置为“Yes”,否则设置为“No”。
6.设置按钮ID
在<Test IE GUID>下建立一个新的字符串类型值,名称为“Clsid”,将该值设置为“{1FBA04EE-
3024-11D2-8F1F-0000F87ABD16}”,即系统默认的工具栏按钮ID。
7.设置代码文件
在<Test IE GUID>下建立一个新的字符串类型值,名称为“Script”,该值代表单击按钮后运行的脚
本文件全路径名称。
对注册表操作较熟悉的读者,也可将前述添加IE按钮时的修改的注册表内容步骤导出,其内容如下所
示:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{FB5A1910-F110-11d2
-BB9E-00C04F795683}]
"HotIcon"="C:\\Program Files\\Messenger\\MSMSGS.EXE,302"
"Icon"="C:\\Program Files\\Messenger\\MSMSGS.EXE,301"
"MenuText"="IE工具栏测试按钮"
"Default Visible"="Yes"
"Clsid"="{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}"
"Script"="C:\\iecode\\toolbar.html"
读者可直接用文本编辑器修改导出的注册表文件来建立其他的IE工具栏按钮。当单击该按钮时会运行
“script”键对应的脚本文件,该脚本文件和前述的脚本文件结构完全相同,即通过访问external对象的
menuArguments属性获取页面,并进行相应的操作。
(二)程序实例
下面让我们来实现在IE任务栏中增加按钮效果。单击该按钮将弹出一个确认框,单击“确定”按钮,
将使用对话框来显示当前IE页面的所有链接目标。
由于创建工具栏按钮的步骤已经介绍,因此不做赘述,按钮对应的脚本程序代码如下所示:
<script language="VBScript">
sub displink()
url=""
set links = external.menuArguments.document.links
ReDim params(links.length*2)
result=window.confirm(″共有″+cstr(links.length)+"个链接,准备浏览其链接目标吗?")
if result=-1 then
for i = 0 to links.length-1
url=url+links(i).href+chr(13)
next
window.alert(url)
end if
end sub
call displink()
</script>