【问题标题】:In C#, how do you programmatically open a link with a specific browser?在 C# 中,如何以编程方式打开特定浏览器的链接?
【发布时间】:2015-10-16 01:38:57
【问题描述】:

例如,用户有多个浏览器:Chrome、Firefox 和 Safari,而用户的默认浏览器是 Chrome。我怎样才能做到这一点,当代码打开用户链接时,它将使用 Safari 而不是他的默认浏览器,即 Chrome?这甚至可能吗?谢谢:)

【问题讨论】:

  • 你可以使用Process.Start(),你需要在其中指定你要打开的浏览器名称,对于Safari,使用它的exe名称,如Process.Start("safari.exe","http://www.stackoverflow.com")

标签: c# browser hyperlink safari web


【解决方案1】:

试试这个:

System.Diagnostics.Process.Start("Chrome.exe", "http://www.stackoverflow.com");//or firefox.exe

如果浏览器配置不正确,您可能会遇到例外情况。所以最好像这样捕获异常:

try
{
     System.Diagnostics.Process.Start("Chrome.exe", "http://www.stackoverflow.com");//or firefox.exe

}
catch(System.ComponentModel.Win32Exception noBrowser)
{
    if (noBrowser.ErrorCode == -2147467259)
       MessageBox.Show(noBrowser.Message);
}
catch (System.Exception other)
{
      MessageBox.Show(other.Message);
}

【讨论】:

    【解决方案2】:

    当应用程序将要启动或 Global.asax 事件时,我们应该处理这种情况,而不仅仅是我们可以将请求重定向到任何客户端浏览器。这个技巧甚至不应该尝试页面事件。

    使用名称空间并在全局页面中添加代码:process.Start()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-13
      • 2014-01-07
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 2011-12-22
      相关资源
      最近更新 更多