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

VBScript
用vbs清空iis log 中自己登录ip的记录
vbs sendmail发邮件带附件方法
用vbs通过135端口执行命令的脚本
用vbs实现的瞬间关闭多个系统进程的脚本
vbs 中调用shell.application 简单函数
vbs wmi获取电脑硬件信息实例
用vbscript实现隐藏任务栏图标的脚本
vbs正则表达式代码
vbs版IP地理位置查询小偷
超级厉害的VBS定时提醒脚本 Remind.vbs
vbs实现的支持拖动的txt文本切割器
VBS如何察看或获得剪切板内容的脚本
VBS备忘录启动代码
VBS脚本使用WMI操作注册表的代码
vbs xmldom初次实战获取QQ签名的代码
VBS破坏性应用代码
vbs生成ACCESS数据里所有表的字段
vbs实现的图片自适应表格,目前最佳解决方案!
ProcessMagnifier.vbs进程查看
用于提取网易文件的hta代码

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


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