【发布时间】:2012-04-17 21:19:49
【问题描述】:
我正在尝试创建一个 C# 程序来启动其他外部应用程序。我搜索了一下,发现了这个:http://www.dotnetperls.com/process-start,我认为这是一个非常好的教程。我唯一的问题是我并不总是知道程序的路径。
例如,如果我这样做:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "firefox.exe";
Process.Start(startInfo);
它成功启动了Firefox。但是,如果我这样做:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "chrome.exe";
Process.Start(startInfo);
它失败了,因为它找不到 chrome,而且看起来我需要从它的确切路径启动它。所以我的问题是有没有办法访问所有已安装应用程序的通用注册表并从那里启动?谢谢。
【问题讨论】:
-
没有。并非所有程序都“安装”传统意义上的。我建议您调查您计划启动的程序以找到它们的常用安装位置。
-
您可以随时在文件系统中搜索“chrome.exe”,找到后保存路径以备后用。
-
@Magnus:如果有多个“chrome.exe”?
标签: c# .net launch process.start