That property UseShellExecute
is related to the use of the function ShellExecute
existing in Windows ie if you mark as true
the class Process
will use the function ShellExecute
, otherwise, use the CreateProcess
.
Createprocess
This is your case and the function will be used CreateProcess
, is a much more accurate way to start a process - it does not search the path, and will allow you to redirect the default input or output of the child process.
It will not work when trying to open files as will be explained on ShellExecute
.
You must define UseShellExecute
as false
when:
Shellexecute
The function ShellExecute
is used to open a specific file (even a program) - as when we type something in the Windows Run command, for example when we want:
- Open documents where extensions have already been associated with a program - simply type c: test fat.docx that Windows will take charge of opening the Winword program.
- Run batch files - as in
cmd.exe
;
- Execute any command in PATH;
Use when you want to open documents, urls or batch files etc... instead of having to explicitly pass the path from where the program was installed.