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

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

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

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

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

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

分享给朋友:

相关文章

Visual Studio配备供你的应用使用的图标库

操作步骤:在Visual Studio的安装目录:\Program Files\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\ 有个 VS2008ImageLibrary.zi...

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

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

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

C#泛型的好处

关于object类型:1.object类型可以来引用任何类型的实例;2.object类型可以存储任何类型的值;3.可以定义object类型的参数;4.可以把object作为返回类型。但是--这样做有很大的问题1.会因为程序员没有记住使用的类...

AjaxControlToolKit中 CalendarExtender(日历扩展控件)变为中文界面

ScriptManager控件的EnableScriptGlobalization属性 和EnableScriptLocalization属性设置为 true则  CalendarExtender 控件为中文...

SQL2005服务无法启动,错误代码3417的终极解决办法

sql2005,在服务管理里面启动sql的服务报出错误代码3417的错误。错误框提示为:“Windows不能在 本地计算机 启动 SQL Server(MSSQLSERVER)。有关更多信息,查阅系统事件日志。如果这是非Microsoft...

zedgraph

ZedGraph官方主页:http://zedgraph.org/wiki/index.php?title=Main_PageZedGraph下载地址:http://sourceforge.net/projects/zedgraph/fil...

发表评论

访客

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