How to programmatically start the default Internet Browser by using Visual Basic .NET or Visual Basic 2005

Article translations Article translations
Article ID: 305705 - View products that this article applies to.
This article was previously published under Q305705
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page

SUMMARY

This article demonstrates how to start the default Internet browser.

Requirements

  • Microsoft Visual Studio .NET or Microsoft Visual Studio 2005

Specify the URL, FTP, or File to Open

You can specify a URL, a file, or an FTP address. All three of these assignments are valid:
    Dim target As String = "http://www.microsoft.com"
    Dim target As String = "ftp://ftp.microsoft.com"
    Dim target As String = "C:\Program Files\Microsoft Visual Studio\INSTALL.HTM"
				

Use the Process Class Start Method to Start the Browser

The Process class contains a shared Start method. Because this is a shared method, you can call Start without having an instance of a Process class.
System.Diagnostics.Process.Start(target)
				

Provide Exception Handling

Because you take advantage of the default UseShellExecute property when you call the Start method, you do not have to explicitly query the registry to determine which browser is the default. However, if you use this approach on a computer that does not have a browser installed, an exception occurs. This exception must be caught so that the appropriate action can be taken. This example explicitly traps for an error that is generated when the necessary registry key is not found and indicates that no browser is installed. In addition, a general exception handler is provided for other errors that may occur. The try...catch block is demonstrated in the complete code listing.

Complete Code Sample

    Dim target As String = "http://www.microsoft.com"
    'Do not use more than one assignment at a time.
    'This also works with FTP.
    'Dim target As String = "ftp://ftp.microsoft.com"
    'This also works with a file.
    'Dim target As String = "C:\Program Files\Microsoft Visual Studio\INSTALL.HTM"
    
     Try
         System.Diagnostics.Process.Start(target)

     Catch noBrowser As System.ComponentModel.Win32Exception _
         When noBrowser.ErrorCode = -2147467259
            MessageBox.Show(noBrowser.Message)

     Catch other As System.ComponentModel.Win32Exception
         MessageBox.Show(other.Message)

     End Try
				

Troubleshooting

This code is highly dependent on the application-file type associations in the HKEY_CLASSES_ROOT hive of the registry. This can lead to unexpected results and exceptions if the registry is damaged. In addition, file types and extensions may also be associated with applications other than the browser. For example, HTM or HTML files may be associated with Web development software instead of the browser.

REFERENCES

For more information about the Process class, see the following .NET Framework Class Library documentation:
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDiagnosticsProcessClassTopic.asp

Properties

Article ID: 305705 - Last Review: February 28, 2014 - Revision: 3.3
APPLIES TO
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbnosurvey kbarchive kbvs2005applies kbvs2005swept kbhowtomaster KB305705

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com