title: File.Open() with PATH environment variable
body: <p>I'm writing a CLI program that on an event, runs <code>Process.Start()</code> on a user-defined file. This respects <code>%PATH%</code>, but <code>File.Open()</code> does not.</p>
  
  <p>Basically, when the program is launched, I run a variety of checks. One of the checks I want is that this file exists and can be opened by the current user, ala:</p>
  
  <pre><code>try
  {
      fs = File.Open(Run, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
      Run = args[++i];
  }
  catch(TheVariousExceptions){ .... }
  finally
  {
      if(fs != null)
          fs.Close();
  }
  </code></pre>
  
  <p>The exceptions are also handled at the time of <code>Process.Start()</code>, but this may not be invoked until a while after, when the user might have configured the program and left it to run. So I'd like to first run the check like above. Problem is, it doesn't take <code>%PATH%</code> into account.</p>
  
  <p>Any ideas?</p>