title: How do I use the system PATH with Process.UseShellExecute=false?
body: <p>I am developing an application that spawns child processes using the <code>Process</code> API, with <code>UseShellExecute</code> set to <code>false</code>. The problem with this is that I don't want to go looking for the processes I'm spawning, since they are available in my system PATH. For example, I want to run Python scripts by just typing <code>SCRIPT_NAME.py ARGUMENTS</code>. However, when I set <code>Process.FileName</code> to be <code>SCRIPT_NAME.py</code>, I get an error telling me it couldn't find <code>SCRIPT_NAME.py</code>. I want the working directory to be where <code>SCRIPT_NAME.py</code> is, otherwise I'll have to specify the absolute path to <code>SCRIPT_NAME.py</code> and to its arguments, which is ridiculous and excessive. </p>
  
  <p>I can avoid this by using <code>cmd.exe /C SCRIPT_NAME.py ARGUMENTS</code> but there are problems with force halting command prompt that are pushing me in this direction instead. </p>