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

VBScript
vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者
雷客图 站长安全助手 vbs版代码(asp 木马查找)
discuz 任意管理员密码漏洞利用工具 vbs代码
添加网站到安全站点.设置安全站点打开ActiveX时提示.去页眉页脚的vbs代码
文件夹定时自动备份 AutoBackUpFolder.vbs
iis PHP安装脚本 PHPInstall.vbs V3.1
HTA文件去除html控件认证和接收命令行参数
vbs 更改环境变量
excel2access vbs脚本
VBS 下载方法(CDO.MESSAGE)
vbs实现myipneighbors 域名查询结果整理
修改 Gateway和DNS的vbs脚本
VBS sendkeys 模拟击键操作 问题解决
用vbscript来添加ip策略 自动封IP
vbs,hta中选择文件夹对话框实现代码
WMI 脚本高手不完全手册
vbscript语句中“&H”专用于16进制数表示
URL 筛选小工具 提取网页中的链接地址
VBScript 文件操作代码小结
vbs 错误捕获器,用于捕获内部错误并进行手工处理

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


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