从mfc VC ++中的microsoft web browser控件访问url

时间:2011-10-20 08:27:42

标签: mfc

我在MFC应用程序中使用Microsoft Web浏览器控件。

最初使用

显示登录页面

control.navigate(URL)方法

登录后,我需要访问控件中的URL。

如何做到这一点?

任何人都可以帮助我

3 个答案:

答案 0 :(得分:1)

WebBrowser控件具有在切换页面之前触发的事件OnBeforeNavigate2。事件处理程序接收新访问过的URL。

如果您使用CDHTMLView,则甚至不必添加事件处理程序:只需覆盖虚拟OnBeforeNavigate2()

答案 1 :(得分:1)

网址会在DocumentComplete事件中发送给您。检查MFCIE sample,示例处理事件以更新其地址栏。

请注意,网址可能与您传递给Navigate或从OnBeforeNavigate2获取的网址不同。例如,如果您将microsoft.com传递给Navigate2,由于服务器端重定向,您将返回www.microsoft.com。

答案 2 :(得分: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已经改变,但上面的链接应该可以提供你需要的大部分信息。希望:))