c# Process.Start() 方法如何自动知道文件所在的位置?

c# How does Process.Start() method automatically know where files are located?

如果我向 Process.Start(); 提供参数 "Firefox"Notepad"cmd",它会像内置位置一样运行这些程序,但对于其他程序我必须指定程序的目录以使其工作。

它如何自动知道某些程序所在的位置,以及为什么只知道这些程序而不是其他程序?

我的代码:

using System;
using System.Diagnostics;

namespace Testing
{
 public class MainClass
 {
   static void Main()
   {
      Process.Start("Firefox");    // Works
      Process.Start("Notepad");    // Works 
      Process.Start(@"C:\Users\user\Desktop\Steam");   // Works too
      Process.Start("Steam");      // This line gives me "The System cannot find the file specified"(run-time error)
    }
  }
}

我认为这取决于Windows中的环境变量。 或在 cmd 中输入 PATH 并观察路径,其中可以自动找到 *.exe 文件。