Открытие URL-адреса в браузере по умолчанию в настольном приложении Windows 8

Я использую System.Diagnostics.Process.Start из настольного приложения, чтобы запустить браузер по умолчанию, чтобы перейти к ссылке, как показано ниже. Это использует С# с .NET 4.0 в RTM Windows 8 Pro.

System.Diagnostics.Process.Start(new ProcessStartInfo
{
    FileName = @"http://www.google.com",
    UseShellExecute = true
});

Это отлично работает под Windows 7, но в Windows 8 я получаю исключение, которое можно воспроизвести в LINQPad. Исключения составляют:

UseShellExecute = true дает Win32Exception: класс не зарегистрирован. UseShellExecute = false дает Win32Exception: система не может найти указанный файл.

Как открыть URL-адрес в браузере по умолчанию?

Ответ 1

Только для приложений WinRT просто

Launcher.LaunchUriAsync(new Uri("http://www.google.com"));

Посмотрите здесь.

Ответ 2

Кажется, вам нужно указать имя процесса под Win8. Ниже приведен ответ ответа Армина здесь.

var startInfo = new ProcessStartInfo("explorer.exe", @"http://www.google.com");
Process.Start(startInfo);