C# Process.Start 路径

Posted

技术标签:

【中文标题】C# Process.Start 路径【英文标题】:C# Process.Start Path [duplicate] 【发布时间】:2014-09-02 15:43:20 【问题描述】:

我目前有一个正常运行的程序,只需单击一个按钮即可启动一个单独的 .exe 文件。我创建的安装程序会询问他们想要安装的位置,默认情况下位于 fodler C:\Program Files\PRHA

启动程序的代码如下所示

private void ivClick(object sender, RoutedEventArgs e)

    Process.Start("C:/Program Files/PRHA/IV/IV.exe");

我怎样才能让Process.Start 找到正在运行的应用程序的路径,所以如果用户决定安装在另一个目录中,Process.Start 仍然可以工作。

【问题讨论】:

您是否在 Visual Studio 中使用部署项目?还是定制安装程序? 我想知道的是,如果用户决定安装在另一个目录中,如何让 Process.Start 找到路径。 记住程序的安装位置,并使用它路径 两个 EXE 是否总是并排安装? 目前有一个名为 Install Creator 的安装程序,但如果有必要我会更改它。 约翰,两个 EXE 总是并排安装,是的。 【参考方案1】:

如果您只想获取正在运行的应用程序的路径以启动辅助应用程序(在同一目录中),您应该能够使用:

System.Reflection.Assembly.GetExecutingAssembly().Location

参考:http://msdn.microsoft.com/en-us/library/aa457089.aspxhttp://msdn.microsoft.com/en-us/library/system.reflection.assembly.location(v=vs.110).aspx

【讨论】:

这非常有效!非常感谢!【参考方案2】:

我认为,如果您这样做,则不需要两者都必须在同一位置。

我们可以尝试对IV.exe 的安装程序进行自定义操作,以创建安装路径的注册表项。需要调用IV.exe 的应用程序将读取注册表并获取具有该特定键的路径。

【讨论】:

以上是关于C# Process.Start 路径的主要内容,如果未能解决你的问题,请参考以下文章

Process.Start 打开资源管理器

C#中怎么用process调用一个exe文件并传入参数?

一定时间后杀死进程+ C#

C# 中的 Process.Start 与 Process `p = new Process()`?

在Winform或WPF中System.Diagnostics.Process.Start的妙用

C# Process.Start()方法详解