正在启动.exe文件而不路径选择位置c#

正在启动.exe文件而不路径选择位置c#,c#,process,system.diagnostics,c#-6.0,C#,Process,System.diagnostics,C# 6.0,如何使用c#代码启动exe文件? 所以我有这个: Process.Start( @"C:\Program Files (x86)\Photoshop\Photoshop.exe"); 但在其他机器中,路径可能不同。那么,有没有其他方法来运行.exe的想法 谢谢 否,如果不知道exe文件的位置,则无法运行该文件 “异常”是指可执行目录位于PATH环境变量中,这就是为什么: Process.Start("notepad.exe"); 工作。如果我理解正确,可执行文件就在您的范围内,因此只需将其放

如何使用c#代码启动exe文件? 所以我有这个:

Process.Start( @"C:\Program Files (x86)\Photoshop\Photoshop.exe");
但在其他机器中,路径可能不同。那么,有没有其他方法来运行.exe的想法


谢谢

否,如果不知道exe文件的位置,则无法运行该文件

“异常”是指可执行目录位于PATH环境变量中,这就是为什么:

Process.Start("notepad.exe");

工作。

如果我理解正确,可执行文件就在您的范围内,因此只需将其放在项目目录中,而不指定任何路径(默认为相对路径):

我找到了解决办法

Activator.CreateInstance(Type.GetTypeFromProgID("Photoshop.Application"));

您可以避免硬编码程序文件目录的路径,但这仍然不能解决问题。我可能已将Photoshop安装到另一个目录中(事实上我已安装),也可能根本没有安装Photoshop。请扫描注册表以查找Photoshop的安装路径。@Abion47并非所有程序都将其安装目录存储在registry@BradleyDotNET大多数有正式安装程序的都有。Photoshop就是这样一个例子。这个问题非常清楚和狭隘:投票重开虽然这在技术上是正确的,但是除了硬编码之外,还有其他方法可以获得路径。@Abion47当然,还有特殊的文件夹类等,但这并不能解决启动exe的基本问题,不管它位于何处。除非他正在编写一个安装在旁边的应用程序,否则这似乎不太可能photoshop@Dr.Haimovitz我认为你不能用你的代码运行所有的appa。有一些应用程序,如记事本,你可以运行没有路径!
Activator.CreateInstance(Type.GetTypeFromProgID("Photoshop.Application"));