我想从进程名称获取完整路径而不运行进程。换句话说 - 在执行以下C#获取绝对路径时:
的Process.Start(StartInfo的);
startInfo不包含绝对路径。
答案 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;