在外部浏览器中打开web浏览器控件中的链接?

在外部浏览器中打开web浏览器控件中的链接?

问题描述:

我希望我的Webbrowser控件中的链接在默认浏览器中打开,而不是在Windows控件中打开。在外部浏览器中打开web浏览器控件中的链接?

在下面的链接中解决了完全相同的问题,并且我遵循了拦截导航事件并取消它的相同解决方案。

How to open a link in webBrowser control in external browser?

但是,当我实施解决方案,它的工作原理以及在Chrome为默认浏览器。当IE(版本10)是默认浏览器时,单击链接将在同一浏览器控件中打开该URL。 任何想法?

+0

你可以写一些自己的浏览器兼容性代码来检查它正在推出或调用了哪些浏览器从...? – MethodMan 2014-10-09 19:26:01

+0

对不起,如果我没有得到建议..但链接正在从Webbrowser控件启动,如果Chrome是默认浏览器,它会加载到Chrome。 – Feroz 2014-10-09 20:09:55

Process.Start“启动(或重新使用)此Process组件的StartInfo属性指定的进程资源并将其与组件关联。”

我怀疑由于WebBrowser控件实际上是一个剥离的IE浏览器,使用Process.Start重用WebBrowser控件而不是启动iexplore.exe的新实例。

您可能需要让代码检查注册表以查看用户的默认浏览器是什么(Windows Registry key for "check whether IE is the default browser"?)。如果您发现默认浏览器设置为IE浏览器,然后更改的Process.Start方法明确地推出IEXPLORE.EXE

Process.Start("iexplore.exe",e.Url.ToString()); 
+1

是的。问题是没有选择默认浏览器。我还想补充一点,即使安装了Chrome浏览器,即使没有选择默认浏览器,也会使用Chrome浏览器,并且链接以Chrome浏览器打开。如果chrome没有安装,我们需要明确地使IE成为默认浏览器,以使链接在IE中打开。 – Feroz 2014-10-22 14:40:56