ShellExecute

From HashVB
Revision as of 00:54, 11 June 2006 by Dee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

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

Declaration

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

Parameters

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", "http://www.earlsoft.co.uk/", "", "", 1

Print licence.rtf from the application directory:

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

VB.NET

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
  myProcess.Start()
  myProcess.Dispose()
End Function

See also