C# Process.Start - 独立进程



我只想运行另一个.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);
});

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

(使用Rider JetBrains(

最新更新