C#Process.Start-独立进程

时间:2019-07-26 18:32:46

标签: c#

我只想运行另一个.exe,然后关闭呼叫者。

类似的东西:

var info = new ProcessStartInfo
{
    WorkingDirectory = "myDirectory",
    FileName = "myFile.exe"
};
Process.Start(info);
Environment.Exit(0);

但是,子进程与父进程同时关闭。

  • 父级是一个应用程序,单击按钮后将关闭。
  • 子项是一个应用程序,它与父项同时关闭(不需要)。
  • 父母是发射器。
  • 孩子是一个可以手动启动的应用程序。

我尝试了其他解决方案,但是它们都具有相同的不良行为:

var info = new ProcessStartInfo
{
    WorkingDirectory = "myDirectory",
    FileName = "cmd",
    Arguments = $"/C myFile.exe",
    WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info);
Environment.Exit(0);
var thread = new Thread(() =>
{
    var info = new ProcessStartInfo
    {
        WorkingDirectory = "myDirectory",
        FileName = "myFile.exe"
    };
    Process.Start(info);
});
thread.Start();
Environment.Exit(0);
Task.Factory.StartNew(() =>
{
    var info = new ProcessStartInfo
    {
        WorkingDirectory = "myDirectory",
        FileName = "myFile.exe"
    };
    Process.Start(info);
});

1 个答案:

答案 0 :(得分:0)

这很愚蠢...只是在调试模式下不起作用。 这不是错误,而是故意的(幸运的是它是这样设计的)。

(使用Rider JetBrains)