wwUtils::ShellExecute

ShellExecute() is an API wrapper around the Windows API with the same name. Using ShellExecute() you can:

  • Open Web URLs
  • Open files by filename in their associated application
  • Open local folders in Explorer
  • Open Application Protocol Handlers
  • Open OS applications that are on the OS path without a path

Here are some examples:

ShellExecute("https://west-wind.com")     && opens in Web Browser
ShellExecute("c:\temp")                   && opens folder in Explorer
ShellExecute("c:\temp\test.pdf")          && opens PDF in PDF viewer
ShellExecute("skype:8083215555")          && Opens Skype
ShellExecute("markdownmonster:untitled")  && Opens associated application
ShellExecute("code")                      && Opens VS Code (if installed)

ShellExecute can also execute commands with a complex commandline. Unlike the RUN command ShellExecute() works with long filenames or filenames with spaces in them.

ShellExecute("c:\Program Files (x86)\Markdown Monster\mm.exe", ;
             "OPEN","c:\temp",; 
             ["c:\temp\Getting Started With MM.md" ".\test.md"])

For command line execution you might find ExecuteCommandline() a little simpler as you can write it the same way as you would from the Terminal as a single line:

ExecuteCommandLine([c:\Program Files\Markdown Monster\mm.exe "c:\temp\Getting Started With MM.md"])
o.ShellExecute(tcUrl, tcAction, tcDirectory, tcParameters)

Parameters

tcUrl
A URL or 'command line' that can be a path, a filename, an Application Protocol handler directive.

tcAction
A shell action that is used with this command. The default is OPEN which is the command that every shell item supports, but some support others like EDIT or PRINT.

tcDirectory
An optional start directory that's used for executable commands. Useful if you execute an application explicitly.

tcParameters
Command Line Parameters. Recommend you use ["Parm1" "Parm2" "Parm3"] style as parameters that include spaces or other special characters need to be wrapped in single or double quotes.


See also:

Class wwUtils | wwUtils::ExecuteCommandLine | CreateProcess | CreateProcessEx

© West Wind Technologies, 2023 • Updated: 05/14/20
Comment or report problem with topic