当前位置:首页 > 计算机相关 > .net专区 > 正文内容

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

piikee12年前 (2012-10-28).net专区1295
首先要捕获打开链接的事件,这个事件在 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萍客小居哦。

扫描二维码推送至手机访问。

版权声明:本文由萍客小居[www.piikee.net]发布,如需转载请注明出处。

本文链接:https://www.piikee.net/971.html

分享给朋友:

相关文章

图解vs2008打包全过程,含卸载功能

图解vs2008打包全过程,含卸载功能

1:新建安装部署项目打开VS编辑器,点击新建项目,选择:其他项目类型--安装与部署--安装向导(安装项目也一样),然后点击确定.(详细见下图)本文虽以VS2005打包为例,但是在VS2008下一样也可以用此法,本人已经在VS2008下测试通...

C#的窗体(WinForm)退出杂谈

1、Winform点击退出按钮,需要确认再退出:private void MainForm_FormClosing(object sender, FormClosingEventArgs e){if (MessageBox.Show("是否...

.net中使用webpart,数据库报错,error:26的解决办法

出错页面如下:“/”应用程序中的服务器错误。--------------------------------------------------------------------------------在与 SQL Server 建立连接...

C#重写WndProc 方法实现无法关闭的窗体

在窗体的设计文件Form1.Designer.cs中重写WndProc 方法 ,实现拦截窗体特定消息。代码如下:protected override void WndProc(ref System.Windows.Forms.Message...

C#下winform和JS的互相调用和传参(webbrowser)

不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后JS调用WINFORM的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位, winform调用JS函数 和J...

C#读取XML时报错:根级别上的数据无效

PiikeeUpdata.LoadXml(@"piikeeupdata.xml");报错:根级别上的数据无效改为PiikeeUpdata.Load(@"piikeeupdata.xml")即可。Msdn:LoadXml (): 该方法读取...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。