2011-10-20 34 views

回答

0

MSDN有一個所有關於 「Using MFC to Host a WebBrowser Control」 部分。在那裏它提到使用以下:

//CWebBrowser2 m_browser - to access the WebBrowser control 

CString string1, string2; 

string1 = m_browser.GetLocationName(); // gets the page title 
string2 = m_browser.GetLocationURL(); // gets the page URL 

關於試圖獲得這些信息,你可以檢查m_browser.Busy(...)m_browser.ReadyState(...),看看是否有一種導航/下載目前正在發生的事情。

我承認永遠不要使用控件,所以不知道是否有一個簡單的方法來獲得回調說URL已經改變,但上面的鏈接應該給你你需要的大部分信息。希望:)

1

WebBrowser控件有一個事件OnBeforeNavigate2在切換頁面之前觸發。事件處理程序接收新訪問的URL。

如果您使用CDHTMLView,您甚至不必添加事件處理程序:只需覆蓋虛擬OnBeforeNavigate2()

1

URL在DocumentComplete事件中發送給您。檢查MFCIE sample,該示例處理該事件以更新其地址欄。

請注意,網址可能與您傳遞給或從OnBeforeNavigate2獲取的網址不同。例如,如果您將microsoft.com傳遞給Navigate2,由於服務器端重定向,您將收回www.microsoft.com。