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?
For WinRT apps only, it's simply
Launcher.LaunchUriAsync(new Uri("http://www.google.com"));
Take a look here.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With