来自未运行的进程名称的路径

时间:2011-11-30 18:11:05

标签: c# windows windows-services

我想从进程名称获取完整路径而不运行进程。换句话说 - 在执行以下C#获取绝对路径时:

的Process.Start(StartInfo的);

startInfo不包含绝对路径。

3 个答案:

答案 0 :(得分:2)

可执行文件的完整路径通过%PATH%环境变量解析。您可以按如下方式复制行为:

var result = Environment.GetEnvironmentVariable("PATH")
                        .Split(';')
                        .Select(path => Path.Combine(path, "notepad.exe"))
                        .FirstOrDefault(path => File.Exists(path));

// result == "C:\\Windows\\system32\\notepad.exe"

答案 1 :(得分:0)

使用标准的Windows搜索策略:PATH环境变量中的当前文件夹和文件夹。

答案 2 :(得分:0)

也许我误解了,但是怎么样:

var fInfo = new FileInfo(startInfo.FileName);
var fullPath = fInfo.FullName;