啥是BHO,其實大家都用過,沒聽過只是沒在意而已,來張圖你就知道是什么了
是不是很熟悉,就是這么個玩意~~
先說說我要用來干嘛~我們有個庫,里面數據很全面,但是某個部門需要在第三方的B/S系統錄入某些信息,表單數據較大,可能這些數據我的庫里面有,在不改動第三方系統的前提下,把我庫中的匹配數據填充到第三方系統表單中去!
可能首先想到的解決方式就是:搞個瀏覽器嘛,winform或者webkit都行,但是你得考慮到第三方系統如果使用了各自廠商的activeX怎么辦。。。
其次,自己寫個activeX嘛,這個是個好辦法,但是沒簽名,還得設置IE安全性
后來,別人告訴我有個東西叫做BHO,可以直接C#開發,也就是利用mshtml修改html結構,給dom注冊或移除事件,網上例子很多,這里就不拿出來了,我的也是下載人家的用的,然后自己根據自己的需要做修改!
網上有個例子是給dom添加click事件,由於我要用到blur事件,受click事件的影響,我把blur的寫法按照click來寫,發現根本不起作用,廢了好大的勁才找到資料,怎么用這些事件,mshtml里面幾乎所有的事件(click)除外都會路由到document去處理,不能直接給dom元素添加事件(click)除外,否則不回起到任何作用!切記!
其次引用的COM組建,網上說的比較含糊,mshtml大家都還知道是啥,什么SHDOCVW根本不知道了
他們的完整名稱如下圖
最后就是安裝了,運行Vistudio Tools 里面的開發人員工具,然后進入到你BHO程序的debug或者release目錄運行regasm /c "你的類庫文件名"就安裝成功了,打開IE,輸入網址,看看效果怎樣!