2010-08-20 13 views

cevap

9

Yeni bir süreçte çalışır. documentation, işlemin yeniden kullanılıp kullanılmayacağı konusunda biraz belirsiz görünüyor ancak işlem kimliğini başlangıçta bir metin kutusuna göstererek doğrulanabilir.

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(); 
    } 
} 

Ayrıca yeni süreç oluşturulduğunu .NET Reflector kullanarak görebilirsiniz:

public static void Restart() 
{ 
    // ... 
    ExitInternal();   // Causes the application to exit. 
    Process.Start(startInfo); // Starts a new process. 
    // ... 
} 
+1

Evet, gerçekten iyi bir cevap. – Yuriy

4

documentation'a göre, uygulamanın yeni bir örneğini ve dolayısıyla yeni işlemi başlatır. Uygulamayı başlatırken sağlanan komut satırı argümanları varsa, bu yeni argümanlara aynı argümanlar sağlanacaktır.

0

Bu yeni bir örneğini başlatır. Orijinal uygulamanızın hala çalışan bir iş parçacığı varsa, orijinal işlemin, aynı anda (aynı zamanda görev yöneticisinde gösterilecek olan) aynı anda çalışan 2 örneğe sahip olmanıza yetecek kadar ölmeyeceği bir sorunla karşılaşabilirsiniz.

İlgili konular