Не открывается браузер по умолчанию

225
15 октября 2021, 01:40

При попытке открыть браузер при помощи

Process.Start("http://www.google.com"); 

Кидает исключение

System.ComponentModel.Win32Exception: "Не удается найти указанный файл"

Answer 1

Попросите проводник Windows (explorer.exe) сделать, то что вам нужно

Process.Start("explorer.exe", "http://www.google.com"); 
Answer 2

Майкрософт утверждает, что следует вызывать браузер по умолчанию так:

System.Diagnostics.Process.Start("http://google.com");

Я так и делаю обычно (редко пишу на c# и только для windows)

но, если нужна кросс-платформенность, можно идти так (взято отсюда):

public static void OpenBrowser(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;
        }
    }
}
READ ALSO
Ошибка создания View в Entity Framework c#

Ошибка создания View в Entity Framework c#

столкнулся с проблемой создания View в EntityРаботаю в VS17

162
AMI send SMS C#

AMI send SMS C#

Доброго времени суток!

159
Нативное подключение к ssh C#

Нативное подключение к ssh C#

Как подключится к ssh с помощью C# без использования сторонних библиотек? Нужно просто подключится по ssh к серверу и выполнить командуИспользование...

147