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.
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
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