webbrowser打开指定html,C#实现 WebBrowser中新窗口打开链接用默认或者指定浏览器打开,不用IE...

该博客介绍了如何在C#中捕获WebBrowser控件的NewWindow事件,阻止其默认使用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函数你就可以实现各种操作啦,不一定要用我的操作哈。发现网上还没人有这解决办法,所以转载请注明来自www.piikee.net萍客小居哦。

打赏

b6782309070a1b5ca4c66eabedb4d81d.png微信扫一扫,打赏作者吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值