Process.Start(“name.exe”) - 如何找到'name.exe'?

时间:2013-01-17 09:27:31

标签: c# windows process environment-variables

使用C#代码:

Process.Start("name.exe");

我想知道Process找到name.exe的哪个位置?

5 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:3)

来自MSDN;

  

通过指定文件名来启动进程与键入类似   Windows“开始”菜单的“运行”对话框中的信息。

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

答案 2 :(得分:1)

引用另一个答案:

  

通过指定文件名来启动进程与键入类似   Windows“开始”菜单的“运行”对话框中的信息。

但我碰巧知道“运行”对话框除了搜索%path%和/或工作目录和/或可执行目录之外至少做了一件事:

注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths提供从“运行”对话框中键入的文件名到应用程序的完整路径名的映射。安装程序在那里添加子项是一种常见的做法,即使它在...\Program Files\...中的某个地方,也可以使用“运行”启动程序。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

根据此search pattern

定位DLL
  1. 当前进程的可执行模块所在的目录 位于。
  2. 当前目录。
  3. Windows系统目录。
  4. Windows目录。
  5. PATH中列出的目录 环境变量。
  6. 很可能EXE遵循相同的模式。