妙用VBScript自製IE工具列按鈕

來源:互聯網
上載者:User
vbscript|按鈕   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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.