首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C#的默认浏览器中打开

如何在C#的默认浏览器中打开
EN

Stack Overflow用户
提问于 2011-01-03 04:10:40
回答 14查看 388.1K关注 0票数 305

我正在设计一个小的C#应用程序,里面有一个网页浏览器。目前我电脑上所有的默认设置都是google chrome是我的默认浏览器,然而当我点击应用程序中的一个链接以在新窗口中打开时,它会打开internet explorer。有没有办法让这些链接在默认浏览器中打开?或者是我的电脑出了什么问题?

我的问题是,我的应用程序中有一个网页浏览器,所以假设你去谷歌输入“栈溢出”,然后右键单击第一个链接,然后单击“在新窗口中打开”,它将在IE中打开,而不是在Chrome中打开。这是不是我的代码不正确,或者我的计算机上的设置不正确

===EDIT===

这真的很烦人。我已经知道浏览器是IE,但我之前已经让它工作得很好。当我点击一个链接时,它会在chrome中打开。我当时正在使用sharp develop开发应用程序,因为我无法启动c# express。我做了一个全新的windows安装,由于我的应用程序还没有走得太远,我决定从头开始,现在我遇到了这个问题。这就是为什么我不确定这是不是我的电脑。为什么IE会在点击链接时启动整个浏览器,而不是简单地在默认浏览器中打开新链接?

EN

回答 14

Stack Overflow用户

发布于 2017-04-05 21:20:56

对于那些在dotnet核心中发现这个问题的人。我找到了一个解决方案here

代码:

代码语言:javascript
复制
private void OpenUrl(string url)
{
    try
    {
        Process.Start(url);
    }
    catch
    {
        // hack because of this: https://github.com/dotnet/corefx/issues/10361
        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
        {
            url = url.Replace("&", "^&");
            Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true });
        }
        else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
        {
            Process.Start("xdg-open", url);
        }
        else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
        {
            Process.Start("open", url);
        }
        else
        {
            throw;
        }
    }
}
票数 95
EN

Stack Overflow用户

发布于 2013-04-25 10:04:57

代码语言:javascript
复制
public static void GoToSite(string url)
{
     System.Diagnostics.Process.Start(url);
}

这应该能解决你的问题

票数 41
EN

Stack Overflow用户

发布于 2020-05-06 15:35:55

在研究了很多之后,我觉得大多数给出的答案都不适用于dotnet核心。1.System.Diagnostics.Process.Start("http://google.com");--不能与dotnet核心一起使用

2.它可以工作,但如果默认浏览器是chrome,它将阻止新窗口的打开

代码语言:javascript
复制
 myProcess.StartInfo.UseShellExecute = true; 
    myProcess.StartInfo.FileName = "http://some.domain.tld/bla";
    myProcess.Start();

下面是最简单的,适用于所有场景。

代码语言:javascript
复制
Process.Start("explorer", url);
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4580263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档