我在MFC应用程序中使用Microsoft Web浏览器控件。
最初使用
显示登录页面control.navigate(URL)方法
登录后,我需要访问控件中的URL。
如何做到这一点?
任何人都可以帮助我
答案 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已经改变,但上面的链接应该可以提供你需要的大部分信息。希望:))