据我所知,Application.Restart()
会重新启动一个应用程序并创建一个新的应用程序实例。这个实例是在新进程中创建,还是使用旧进程?
感谢您的回答。
最佳答案
它运行在一个新的进程中。 documentation进程是否被重用似乎有点不清楚,但可以通过在启动时在文本框中显示进程 ID 来验证。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Application.Restart();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = Process.GetCurrentProcess().Id.ToString();
}
}
您还可以看到使用 .NET Reflector创建一个新进程:
public static void Restart()
{
// ...
ExitInternal(); // Causes the application to exit.
Process.Start(startInfo); // Starts a new process.
// ...
}
关于c# - Application.Restart() 是否为应用程序创建新进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3530722/