Open a URL from Windows Forms

Here is the best of both worlds:

Dim sInfo As New ProcessStartInfo("http://www.mysite.com")

Try
     Process.Start(sInfo)
Catch ex As Exception
     Process.Start("iexplore.exe", sInfo.FileName)
End Try

I found that the answer provided by Blorgbeard will fail when a desktop application is run on a Windows 8 device. To Camillo's point, you should attempt to open this with the user's default browser application, but if the browswer application is not assigned, an unhandled exception will be thrown.

I am posting this as the answer since it handles the exception while still attempting to open the link in the default browser.


For those getting a "Win32Exception: The System cannot find the file specified"

This should do the work:

ProcessStartInfo psInfo = new ProcessStartInfo
{
   FileName = "https://www.google.com",
   UseShellExecute = true
};
Process.Start(psInfo);

UseShellExecute is descriped further here

For me the issue was due to the .NET runtime as descriped here


using System.Diagnostics;

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

This approach has worked for me, but I could be missing something important.


This article will walk you through it.

Short answer:

ProcessStartInfo sInfo = new ProcessStartInfo("http://mysite.com/");  
Process.Start(sInfo);

Tags:

.Net

Winforms