複製鏈接
請複製以下鏈接發送給好友

瀏覽器輔助對象

鎖定
瀏覽器輔助對象是微軟推出的作為瀏覽器對第三方程序員開放交互接口的業界標準,利用 BHO 的交互接口,就可以 在加載 IE 瀏覽器的同時進行相應的 IE 控制處理或加載其它程序,實現與 IE 瀏覽器的交互。
中文名
瀏覽器輔助對象
外文名
BrowserHelperObject
簡    稱
BHO
屬    性
IE瀏覽器插件
學    科
計算機
領    域
計算機

瀏覽器輔助對象介紹

瀏覽器輔助對象,全稱BrowserHelperObject,以下簡稱BHO,就是我們常説的IE瀏覽器插件。它是微軟推出的作為瀏覽器對第三方程序員開放交互接口的業界標準,利用BHO的交互接口,就可以在加載IE瀏覽器的同時進行相應的IE控制處理或加載其它程序,實現與IE瀏覽器的交互。 [1] 

瀏覽器輔助對象實現原理

BHO的目的是為了更好的幫助程序員打造個性化瀏覽器,以及為程序提供更簡潔的交互功能,現在很多IE個性化工具就是利用BHO的來實現。符合BHO接口標準的程序代碼被寫為DLL動態鏈接庫形式在註冊表裏註冊為COM對象,還要在BHO接口的註冊表入口處進行組件註冊,以後每次IE啓動時都會通過這裏描述的註冊信息調用加載這個DLL文件,而這個DLL文件就因此成為IE的一個模塊(BHO組件),與IE共享一個運行週期,直到IE被關閉。

瀏覽器輔助對象開發案例

下面採用VB6.0來創建BrowserHelperObject,實現記錄IE瀏覽網址與日期時間。 [1] 
詳細過程如下:
2.1打開VB6.0,點擊菜單欄[文件]--[新建工程],在彈出的[新建工程]頁面中選擇ActiveXDLL,保存工程為TestBHO.vbp;
2.2將類模塊中的Class1改名為TestB-HO並保存為TestBHO.cls;
2.3點擊菜單欄[工程]--[引用],選擇引用“VBShellLibrary”(VBSHELL.TLB)、“Mi-crosoftHTMLObjectLibrary”(MSHTML.TLB)、“MicrosoftInternetControls”(shdocvw.dll);
2.4在類模塊TestBHO.cls中添加核心接口代碼,實現與IE的接口;
2.5生成接口dll文件TestBHO.dll並複製到系統system32目錄下;
2.6運行"regsvr32TestBHO.dll"註冊TestBHO.dll文件,然後打開註冊表,通過查找TestBHO.dll,找到其CLSID,再從註冊表中找到接口,在其下新建項,項名為TestBHO.dll的CLSID;
2.7新打開一個IE瀏覽器,打開幾個網頁,再查看C:\bho.txt文件,是不是已經記錄了你瀏覽的網頁地址,效果如何?
至此,這個BHO接口已經完成,每次新打開一個IE窗口,都會加載TestBHO.dll,每打開一個網頁,都會將上網日期時間、網頁地址記錄到C:\bho.txt中,關閉IE窗口時,TestBHO.dll也會自動關閉,不再運行記錄網址

瀏覽器輔助對象應用

目前,BHO技術已經廣泛應用於互聯網程序開發中,實現的功能也多種多樣,包括網頁內容過濾、自動填單、廣告攔截、上網行為監控、網頁翻譯等功能,大家熟知的軟件像百度工具條、迅雷等工具都利用了BHO技術,甚至很多病毒木馬、流氓軟件也都利用了這種技術,當然,清理它們的殺毒軟件,專殺工具也要利用此技術,所以掌握這種技術對相關程序開發很有幫助。
參考資料
  • 1.    李華偉,李芹,王瑜.瀏覽器輔助對象技術的應用與設計方法[J].中國新技術新產品,2012(04):9.