Process.Start(“name.exe”) – 如何find'name.exe'?

C#代码:

 Process.Start("name.exe"); 

我想知道在哪里Process查找findname.exe

它将搜索当前工作目录,正在执行的exe文件的路径或%path%任何目录。

来自MSDN ;

通过指定文件名称来启动一个进程类似于在Windows开始菜单的运行对话框中输入信息。

它应该搜索当前的工作目录。

正如另一个答案引用:

通过指定文件名称来启动一个进程类似于在Windows开始菜单的运行对话框中输入信息。

但是我碰巧知道Run对话框除了搜索%path%和/或工作目录和/或可执行文件目录之外至少还有一件事情:

注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths提供了从“运行”对话框中键入的文件名到应用程序的完整路径名的映射。 安装程序通常会在其中添加子项,以便启动“Run”程序,即使它位于...\Program Files\...

它将查看您的Application Exe文件夹。 通常它在bin\Debugbin\Release

DLL根据以下搜索模式进行定位 :

  1. 当前进程的可执行模块所在的目录。
  2. 当前目录。
  3. Windows系统目录。
  4. Windows目录。
  5. PATH环境变量中列出的目录。

最有可能的EXE遵循相同的模式。