【问题标题】:How to start a process in the same folder as its executable如何在与其可执行文件相同的文件夹中启动进程
【发布时间】:2010-06-04 09:41:35
【问题描述】:

我正在尝试以编程方式启动应用程序,但它总是在我的应用程序文件夹中运行它...例如:

如果我的应用程序位于 C:\MyApp\myapp.exe 而另一个应用程序位于 C:\OtherApp\otherapp.exe 中,我如何在它所在的文件夹中启动另一个应用程序,而不是在我的应用所在的文件夹?

这是我启动另一个应用程序的方式:

private void StartApp(OtherApp application)
{
    Process process = new Process();
    process.StartInfo.FileName = application.FileName;
    process.StartInfo.Arguments = application.AppName;
    process.Start();
}

【问题讨论】:

  • -1 滚动浏览智能感知方法列表而不是在 SO 上发布会更快、更高效(在 -1 上开玩笑)。
  • @vaitrafra,我上瘾了!!!
  • @vaitrafra,请记住,在 SO 中,仅仅因为解决方案很明显,并不意味着不应该问这个问题......任何在谷歌上搜索此信息的人都将不可避免地偶然发现 SO回答。回答最简单的问题也不过是善业。
  • @vaitrafra,我知道 :)... 这就是为什么我的第一条评论是“我沉迷于 SO!!!”但你确实有一点:这应该是显而易见的。

标签: c# process directory executable


【解决方案1】:

【讨论】:

  • 这就是我所需要的...我在寻找 Directory 属性,但我应该一直在寻找 WorkingDirectory 属性!谢谢:)。
【解决方案2】:

只需设置 WorkDirectory 属性。

process.StartInfo.WorkingDirectory = Path.GetDirectoryName(application.Filename);

【讨论】:

    【解决方案3】:

    使用process.StartInfo.WorkingDirectory = pathToTheFolder;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 1970-01-01
      相关资源
      最近更新 更多