我在MFC應用程序中使用Microsoft Web瀏覽器控件。訪問來自微軟網絡瀏覽器控制在MFC中的URL VC++
它顯示最初使用
control.navigate(URL)方法的登錄頁面
後登錄,我需要從控制訪問該URL。
這是如何做到的?
誰能幫我出
我在MFC應用程序中使用Microsoft Web瀏覽器控件。訪問來自微軟網絡瀏覽器控制在MFC中的URL VC++
它顯示最初使用
control.navigate(URL)方法的登錄頁面
後登錄,我需要從控制訪問該URL。
這是如何做到的?
誰能幫我出
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已經改變,但上面的鏈接應該給你你需要的大部分信息。希望:)
WebBrowser控件有一個事件OnBeforeNavigate2在切換頁面之前觸發。事件處理程序接收新訪問的URL。
如果您使用CDHTMLView,您甚至不必添加事件處理程序:只需覆蓋虛擬OnBeforeNavigate2()。
URL在DocumentComplete事件中發送給您。檢查MFCIE sample,該示例處理該事件以更新其地址欄。
請注意,網址可能與您傳遞給或從OnBeforeNavigate2獲取的網址不同。例如,如果您將microsoft.com傳遞給Navigate2,由於服務器端重定向,您將收回www.microsoft.com。