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