From HashVB
(Redirected from Open a URL)
Jump to: navigation, search

ShellExecute is normally used for opening/running "files".

This includes documents, audio files, pictures, URL links, etc...


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


The only parameter you really need to use is the lpFile parameter and maybe the lpOperation and the rest can be left at the default.
You can pass the path to the file or the URL you would like to open and what you want to do with it.

Sample usage

Open a URL in the default web browser:

ShellExecute 0, "open", "", "", "", 1

Print licence.rtf from the application directory:

ShellExecute 0, "print", App.Path & "\licence.rtf", "", "", 1


In VB.NET, you can use this as a replacement for ShellExecute but it does not allow you to specify anything apart from lpFile parameter.

Private Function ShellExecute(ByVal File As String) As Boolean
  Dim myProcess As New Process
  myProcess.StartInfo.FileName = File
  myProcess.StartInfo.UseShellExecute = True
  myProcess.StartInfo.RedirectStandardOutput = False
End Function

See also