3

使用C#代码:

Process.Start("name.exe");

我想知道在哪里Process寻找name.exe

4

5 回答 5

7

它将搜索当前工作目录、正在执行的 exe 的路径或%path%.

于 2013-01-17T09:29:17.467 回答
3

MSDN;

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

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

于 2013-01-17T09:30:30.207 回答
1

正如另一个答案所引用的:

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

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

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

于 2013-01-17T09:36:54.287 回答
0

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

于 2013-01-17T09:29:43.900 回答
0

DLL 是根据这种搜索模式定位的:

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

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

于 2013-01-17T09:46:09.250 回答