We need you!

We're working hard on the next version of Developer Fusion. Let us know what you think we should be up to!

Members

Technology Zones

Articles

Hosted By

MaximumASP

Info

Rated
Read 32,805 times

Related Categories

Launch a PC's default browser

Often, you may want a user to access a specific URI on the Web by
launching his default browser and navigating to the Web site of your
choice. Fortunately, a simple Windows API function ShellExecute() lets
you do just that. When you pass this function a filename, it uses the
Windows file associations to start the appropriate application. As a
result, all you need do is pass this function a URI, and it automatically
launches the default browser and navigates to the requested location.

The ShellExecute() function conforms to the following syntax:

Private Declare Function ShellExecute Lib _
     "shell32.dll" Alias "ShellExecuteA" _
     (ByVal hWnd As Long, ByVal lpOperation _
     As String, ByVal lpFile As String, ByVal _
     lpParameters As String, ByVal lpDirectory _
     As String, ByVal nShowCmd As Long) As Long


As you can see, it takes quite a few parameters, but don't worry, for our
purposes only two concern us: lpFile and nShowCmd. The lpFile parameter
holds the name of the file or application you want to launch, while the
nShowCmd parameter contains directions indicating how you want the
application to appear when it opens. Typically, you'll use the SW_SHOWNORMAL
constant (1).

So for instance, to use this function to navigate to a Web page with the
URI www.google.com, you'd write code along the lines of:

ShellExecute 0&, vbNullString, "www.google.com", vbNullString, _
      vbNullString, SW_SHOWNORMAL


If for any reason the ShellExecute() doesn't execute the application
properly, the function returns a value less than or equal to 32. Otherwise,
it returns a value that points to the launched application.

© 2001 Element K Journals, a division of Element K Press LLC ("Element K"). Element K and the Element K logo are trademarks of Element K LLC

Comments

  • Re: Much easier way to launch default browser

    Posted by skrizanovic on 12 Jul 2007

    This will work, but if you need more flexability and maybe need to post some data, this will allow it. You will need to add a refference to Microsoft Internet Control for it to work.


    The pr...

  • help

    Posted by uwl4zheng on 03 Oct 2005

    if i use vb.net, do all the clients need to install the .net framework?
    im using vb6, is there another way doing the same thing?
    using sell excecute is not good enougth, so someone plz help me

  • Much easier way to launch default browser

    Posted by jonathanw on 29 Sep 2005

    in VB.NET there is a far easier way..

    try this:

    Dim myTargetURL As String = "http://www.google.com"
    System.Diagnostics.Process.Start(myTargetURL)

    No declarations, etc.. works to launch the ...

  • That's nice and all

    Posted by HyperHacker on 09 Jul 2003

    But suppose the user doesn't run IE? *GASP* How are we to know where the default browser is?

  • Bug

    Posted by wtfiml33t on 20 Jul 2002

    Change your code to:

    Call ShellExecute(0&, vbNullString, "www.google.com", vbNullString, _
    vbNullString, SW_SHOWNORMAL)

    :p