1. 程式人生 > >C++實現WebBrowser控制元件中對滑鼠點選事件的監聽,並獲取所點選標籤的超連結

C++實現WebBrowser控制元件中對滑鼠點選事件的監聽,並獲取所點選標籤的超連結

        主要步驟如下:

        1、接收網頁事件(參考資料)

要響應網頁事件,需要實現IDispatch介面,並在其Invoke()方法中處理收到的訊息。對於MFC,因為CCmdTarget類已經實現了該介面,所以只需要繼承CCmdTarget並結合相關巨集就能簡單做到了。
注意1:在該類中,一定要在初始化函式中啟用IDisptach介面,使用函式EnableAutomation()函式,實際上,初始化函式也只需要做這項工作就可以了。

注意2:該類中對點選事件響應的函式,比如OnClick,它會很笨地接收所有的點選事件,包括那些沒有超連結物件被點選的事件,也包括那些背後有好幾層連線的物件點選事件,所以我們需要根據點選事件逐級往上檢查。

        2、在視窗程式中安裝事件處理響應函式

主要包括安裝函式InstallEventHandler,解除安裝函式UninstallEventHandler,安裝響應函式OnDocumentComplete,解除安裝響應函式OnBeforeNavigate2和OnDestroy等五個函式。

注意:在處理事件響應函式的安裝和解除安裝要格外小心,重複安裝可能導致重複接收訊息甚至導致程式崩潰,而忘記解除安裝則會導致COM資源洩漏。

//END ICTwangbiao