Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Opening a URL in the default browser in a Windows 8 desktop application [duplicate]

Tags:

c#

.net

windows-8

I am using System.Diagnostics.Process.Start from a desktop application to start the default browser to visit a link, as below. This is using C# with .NET 4.0 on Windows 8 Pro RTM.

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

This works fine under Windows 7, but under Windows 8 I am getting an exception that can be reproduced in LINQPad. The exceptions are:

UseShellExecute = true gives Win32Exception: Class not registered. UseShellExecute = false gives Win32Exception: The system cannot find the file specified.

How can open a URL in the default browser?

like image 400
Sean Kearon Avatar asked Sep 19 '12 19:09

Sean Kearon


2 Answers

For WinRT apps only, it's simply

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

Take a look here.

like image 68
Cybermaxs Avatar answered Sep 18 '22 23:09

Cybermaxs


It seems that you need to specify the process name under Win8. The answer below comes from Armin's answer here.

var startInfo = new ProcessStartInfo("explorer.exe", @"http://www.google.com");
Process.Start(startInfo);
like image 31
Sean Kearon Avatar answered Sep 19 '22 23:09

Sean Kearon