妙用VBScript自制IE工具欄按鈕

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 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章