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

VBScript
用vbs检索在运行对话框中键入的一系列命令的代码
编写可以打开文本文件并打乱在该文件中所找到的单词顺序的vbs脚本
在 HTA 中暂停脚本的方法
运行脚本之前,如何确定计算机上的默认脚本宿主的代码
用vbs实现删除名称中有撇号的文件夹
用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法
用vbs实现配置无人登录计算机时使用的屏幕保护程序
用vbs更改 Internet Explorer 的标题栏
用vbs读取文本文件的最后一行
用vbs实现重新启动 Internet Explorer
用vbs实现禁用服务
用vbs确定计算机是否有 USB 2.0 端口的代码
用vbs列出注册表中 Run 项中的所有项目
用vbs将名称截断以使其最多包含 16 个字符的代码
用vbs将本地文件替换为在文件服务器上找到的新版本
用vbs确定脚本正在哪一个帐户下运行
用vbs确定可移动驱动器的连接时间
用vbs记录屏幕保护程序的开始时间和结束时间
用vbs计算某个词在日志文件中的出现次数
vbs病毒的简单例子源代码解析

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 60 ::
收藏到网摘: 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