当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 妙用VBScript自制IE工具栏按钮的代码

VBScript
用vbs脚本来关闭 HTML 页面的代码
用vbs实现确定是否安装了某个特定的补丁
用vbs确定用户的登录名的代码
用vbs找到映射到共享的所有驱动器并重新映射它们
可以从一台远程服务器运行 SP2 安装程序Install.vbs
用vbs判断一个日期是否在指定的时段内
vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码
vbs中实现启动两个应用程序,一直等到其中一个程序结束,然后关闭另一个?
用vbs实现对文本文件中的项计数
用vbs对文本文件的内容进行排序
用vbscript把 Word 文档保存为文本文件的代码
用vbs返回 Internet Explorer 的下载控件和 Applet 的列表
用vbscript合并多个文本文件的代码
用vbscript防止本地用户更改其密码
用vbs针对一个 IP 地址范围运行脚本
用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
使用vbscript脚本在表单中进行选择的代码
一个把任何文件转成批处理的vbs脚本Any2Bat.vbs
windows脚本调试howto的方法
注册表的禁用与解锁方法集合

妙用VBScript自制IE工具栏按钮的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 80 ::
收藏到网摘: n/a

IE工具栏上的各种按钮可不是Microsoft的专利,普通用户一样能够对其进行自定义,添加想设置的按钮,至于添加的方法,很多资料上都介绍过。具体的实现方式不外乎两种,一是使用冗长且复杂的VC或VB代码程序,这对普通用户来说要求是过高了一点,通常搞得人满头雾水而不达目的;二是用手工的方法来完成,但是这种方法因为要大幅度地修改系统注册表,系统极不安全,一不小心就会弄巧成拙,让你重新安装系统!
我这里介绍一个折衷的方法,用VBScript自制IE工具栏按钮,它既不需要冗长复杂的程序代码,又不需要繁琐地去修改系统注册表,但一样能达到自制IE工具栏按钮的目的。
无论是用VB或VC还是用手工的方法添加按钮,说到底就是要去修改系统注册表。VBScript也不例外,但是它的代码简单易懂,安全易学。既然要改注册表,那就要知道操作目标在注册表中的的路径。IE的自制工具栏按钮在注册表中的的路径为:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions]
在该分支下的每一个主键,即表示一个自制的工具栏按钮。如:
{CD67F990-D8E9-11d2-98FE-00C0F0318AFE}表示:RealPlayer
{57E91B47-F40A-11D1-B792-444553540000}表示:NetAnts
仿照以上这些主键,我们可以自己“制造”一个{00000000-0000-0000-0000-000000000001}(不过要注意的是,这一个键值一定要是唯一的,要不可能破坏其它的工具栏按钮)。
在这每一个主键之下通常有以下几个键值(均为字符串型):
ButtonText:自定义按钮上显示的文本。
CLSID: IE工具条的类标识码,恒为“{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}”。
Default Visible:控制自定义按钮是否可见,一般为“Yes”。
Exec:自定义按钮执行的目标,可以为执行程序或超文本链接。
HotIcon:鼠标移到按钮上时显示的图标。
Icon:按钮正常显示的图标。
MenuText:在IE的“工具”菜单中显示的菜单项。
MenuStatusBar:在状态条上显示的“注释”文本。
知道了这些必备知识,再来用VBScript自制IE工具栏按钮就不难了,下面我就以添加“我的电脑”按钮为例,来说明用VBScript实现自制IE工具栏按钮的方法。
AddButton.vbs(将下述代码保存为AddButton.vbs文件)
'定义一个能与操作系统沟通的对象
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
'定义与按钮相关的各种参数
KeyName_11="ButtonText"
KeyData_12="我的电脑"
KeyName_21="CLSID"
KeyData_22="{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}"
KeyName_31="Default Visible"
KeyData_32="Yes"
KeyName_41="Exec"
KeyData_42="C:\Windows\Explorer.exe"
KeyName_51="HotIcon"
'借用RealPlayer的图标
KeyData_52="C:\Program Files\Real\RealPlayer\eb_act.ico"
KeyName_61="Icon"
'借用RealPlayer的图标
KeyData_62="C:\Program Files\Real\RealPlayer\eb_inact.ico"
KeyName_71="MenuText"
KeyData_72="我的电脑"
KeyName_81="MenuStatusBar"
KeyData_82="打开我的电脑"
'定义与操作注册表相关的参数
RegPath="HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000001}\"
DataType="REG_SZ"
'定义一个在注册表中添加各项参数的功能函数
Function ValueAdd(KeyName,KeyData)
WSHShell.RegWrite RegPath&KeyName,KeyData,DataType
End Function
'调用Add()过程,添加各项参数到注册表
Call ValueAdd(KeyName_11,KeyData_12)
Call ValueAdd(KeyName_21,KeyData_22)
Call ValueAdd(KeyName_31,KeyData_32)
Call ValueAdd(KeyName_41,KeyData_42)
Call ValueAdd(KeyName_51,KeyData_52)
Call ValueAdd(KeyName_61,KeyData_62)
Call ValueAdd(KeyName_71,KeyData_72)
Call ValueAdd(KeyName_81,KeyData_82)
'弹出“确认”信息框,并作出相应的处理
Dim confirm
confirm=MsgBox("自制按钮已成功添加,需要重新启动系统才能生效,要重新启动吗?",4,"请确认!")
If confirm=6 Then
MsgBox("自制按钮已成功设置,请重新启动系统!")
Else
WScrip t.Quit()
End If