I'm trying to use the NewWindow3
event with the Microsoft Web Browser control so that I can capture the URL and prevent it from opening Internet Explorer. NewWindow2
fires fine, but NewWindow3
does not. The only relevent thing I can find is NewWindow3 event on extended WebBrowser, but I don't want to use a custom control. I want to use the stock control. What can I do to get the NewWindow3
event to work without using a custom control?
private void Form1_Load( object sender, EventArgs e )
{
webBrowser1.Navigate("http://www.stackoverflow.com");
SHDocVw.WebBrowser browser = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
Debug.Assert(browser != null);
browser.NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(browser_NewWindow2);
browser.NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(browser_NewWindow3);
}
void browser_NewWindow2( ref object ppDisp, ref bool Cancel )
{
Debug.Write("NewWindow2");
}
private void browser_NewWindow3( ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl )
{
Debug.Write(bstrUrl);
}