C#实现 WebBrowser中新窗口打开链接用默认或者指定浏览器打开,不用IE
不多说后面的是转的,下面一段是我闵涛个人在用的:
个人觉得下面比较繁琐。
首先要捕获打开链接的事件,这个事件在 WebBrowser的NewWindow里面。这里我的WebBrowser命名为announce。所以捕获事件如下: private void announce_NewWindow(object sender, CancelEventArgs e) { e.Cancel = true ;//让webbrowser停止默认执行事件,让它不会用IE打开链接了 WebBrowser senderb = (WebBrowser)sender;//把sender给拿下,是一个WebBrowser对象 openUrl(senderb.StatusText);//StatusText即是要打开的新链接地址,把这个地址交给openUrl函数来搞定吧 }openURL函数得到新链接,进行打开操作啦。函数如下: private void openUrl(string url) { try { RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\");//获取系统中的浏览器 string s = key.GetValue("").ToString(); Regex reg = new Regex("\"([^\"]+)\""); MatchCollection matchs = reg.Matches(s); string filename = ""; if (matchs.Count > 0) { filename = matchs[0].Groups[1].Value;//取默认浏览器 System.Diagnostics.Process.Start(filename,url); } else { System.Diagnostics.Process.Start(url);//取不到默认浏览器就用IE了。。 } } catch { } }以上openURL函数你就可以实现各种操作啦,不一定要用我的操作哈。发现网上还没人有这解决办法,
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18