妙用VBScript自制IE工具欄按鈕的代碼
更新時間:2007年03月05日 00:00:00 作者:
IE工具欄上的各種按鈕可不是Microsoft的專利,普通用戶一樣能夠?qū)ζ溥M(jìn)行自定義,添加想設(shè)置的按鈕,至于添加的方法,很多資料上都介紹過。具體的實現(xiàn)方式不外乎兩種,一是使用冗長且復(fù)雜的VC或VB代碼程序,這對普通用戶來說要求是過高了一點(diǎn),通常搞得人滿頭霧水而不達(dá)目的;二是用手工的方法來完成,但是這種方法因為要大幅度地修改系統(tǒng)注冊表,系統(tǒng)極不安全,一不小心就會弄巧成拙,讓你重新安裝系統(tǒng)!
我這里介紹一個折衷的方法,用VBScript自制IE工具欄按鈕,它既不需要冗長復(fù)雜的程序代碼,又不需要繁瑣地去修改系統(tǒng)注冊表,但一樣能達(dá)到自制IE工具欄按鈕的目的。
無論是用VB或VC還是用手工的方法添加按鈕,說到底就是要去修改系統(tǒng)注冊表。VBScript也不例外,但是它的代碼簡單易懂,安全易學(xué)。既然要改注冊表,那就要知道操作目標(biāo)在注冊表中的的路徑。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工具條的類標(biāo)識碼,恒為“{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}”。
Default Visible:控制自定義按鈕是否可見,一般為“Yes”。
Exec:自定義按鈕執(zhí)行的目標(biāo),可以為執(zhí)行程序或超文本鏈接。
HotIcon:鼠標(biāo)移到按鈕上時顯示的圖標(biāo)。
Icon:按鈕正常顯示的圖標(biāo)。
MenuText:在IE的“工具”菜單中顯示的菜單項。
MenuStatusBar:在狀態(tài)條上顯示的“注釋”文本。
知道了這些必備知識,再來用VBScript自制IE工具欄按鈕就不難了,下面我就以添加“我的電腦”按鈕為例,來說明用VBScript實現(xiàn)自制IE工具欄按鈕的方法。
AddButton.vbs(將下述代碼保存為AddButton.vbs文件)
'定義一個能與操作系統(tǒng)溝通的對象
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
'定義與按鈕相關(guān)的各種參數(shù)
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的圖標(biāo)
KeyData_52="C:\Program Files\Real\RealPlayer\eb_act.ico"
KeyName_61="Icon"
'借用RealPlayer的圖標(biāo)
KeyData_62="C:\Program Files\Real\RealPlayer\eb_inact.ico"
KeyName_71="MenuText"
KeyData_72="我的電腦"
KeyName_81="MenuStatusBar"
KeyData_82="打開我的電腦"
'定義與操作注冊表相關(guān)的參數(shù)
RegPath="HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000001}\"
DataType="REG_SZ"
'定義一個在注冊表中添加各項參數(shù)的功能函數(shù)
Function ValueAdd(KeyName,KeyData)
WSHShell.RegWrite RegPath&KeyName,KeyData,DataType
End Function
'調(diào)用Add()過程,添加各項參數(shù)到注冊表
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)
'彈出“確認(rèn)”信息框,并作出相應(yīng)的處理
Dim confirm
confirm=MsgBox("自制按鈕已成功添加,需要重新啟動系統(tǒng)才能生效,要重新啟動嗎?",4,"請確認(rèn)!")
If confirm=6 Then
MsgBox("自制按鈕已成功設(shè)置,請重新啟動系統(tǒng)!")
Else
WScrip t.Quit()
End If
我這里介紹一個折衷的方法,用VBScript自制IE工具欄按鈕,它既不需要冗長復(fù)雜的程序代碼,又不需要繁瑣地去修改系統(tǒng)注冊表,但一樣能達(dá)到自制IE工具欄按鈕的目的。
無論是用VB或VC還是用手工的方法添加按鈕,說到底就是要去修改系統(tǒng)注冊表。VBScript也不例外,但是它的代碼簡單易懂,安全易學(xué)。既然要改注冊表,那就要知道操作目標(biāo)在注冊表中的的路徑。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工具條的類標(biāo)識碼,恒為“{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}”。
Default Visible:控制自定義按鈕是否可見,一般為“Yes”。
Exec:自定義按鈕執(zhí)行的目標(biāo),可以為執(zhí)行程序或超文本鏈接。
HotIcon:鼠標(biāo)移到按鈕上時顯示的圖標(biāo)。
Icon:按鈕正常顯示的圖標(biāo)。
MenuText:在IE的“工具”菜單中顯示的菜單項。
MenuStatusBar:在狀態(tài)條上顯示的“注釋”文本。
知道了這些必備知識,再來用VBScript自制IE工具欄按鈕就不難了,下面我就以添加“我的電腦”按鈕為例,來說明用VBScript實現(xiàn)自制IE工具欄按鈕的方法。
AddButton.vbs(將下述代碼保存為AddButton.vbs文件)
'定義一個能與操作系統(tǒng)溝通的對象
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
'定義與按鈕相關(guān)的各種參數(shù)
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的圖標(biāo)
KeyData_52="C:\Program Files\Real\RealPlayer\eb_act.ico"
KeyName_61="Icon"
'借用RealPlayer的圖標(biāo)
KeyData_62="C:\Program Files\Real\RealPlayer\eb_inact.ico"
KeyName_71="MenuText"
KeyData_72="我的電腦"
KeyName_81="MenuStatusBar"
KeyData_82="打開我的電腦"
'定義與操作注冊表相關(guān)的參數(shù)
RegPath="HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{00000000-0000-0000-0000-000000000001}\"
DataType="REG_SZ"
'定義一個在注冊表中添加各項參數(shù)的功能函數(shù)
Function ValueAdd(KeyName,KeyData)
WSHShell.RegWrite RegPath&KeyName,KeyData,DataType
End Function
'調(diào)用Add()過程,添加各項參數(shù)到注冊表
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)
'彈出“確認(rèn)”信息框,并作出相應(yīng)的處理
Dim confirm
confirm=MsgBox("自制按鈕已成功添加,需要重新啟動系統(tǒng)才能生效,要重新啟動嗎?",4,"請確認(rèn)!")
If confirm=6 Then
MsgBox("自制按鈕已成功設(shè)置,請重新啟動系統(tǒng)!")
Else
WScrip t.Quit()
End If
相關(guān)文章
vbscript基礎(chǔ)篇 - vbs數(shù)組Array的定義與使用方法
這篇文章主要介紹了vbscript基礎(chǔ)篇 - vbs數(shù)組Array的定義與使用方法,需要的朋友可以參考下2018-05-05利用計劃任務(wù)和VBS腳本實現(xiàn)自動WEB共享文件夾里的文件
其實沒有題目寫得那么復(fù)雜,就是用計劃任務(wù)每隔一段時間調(diào)用VBS腳本,刷新生成一個文件列表文件用于WEB服務(wù)調(diào)用。2008-12-12VBS中通過調(diào)用CAPICOM對象實現(xiàn)SHA1&MD5加密
MD5算法的VBS代碼在網(wǎng)上可以找到很多,這些代碼都是按照“算法”寫出來的,所以都很長,更重要的是,找不到SHA1算法的VBS實現(xiàn)。2011-01-01利用vbscript的for命令實現(xiàn)定時關(guān)機(jī)
利用vbscript的for命令實現(xiàn)定時關(guān)機(jī)...2007-12-12用vbs記錄屏幕保護(hù)程序的開始時間和結(jié)束時間
用vbs記錄屏幕保護(hù)程序的開始時間和結(jié)束時間...2007-03-03