2009-08-31 38 views
2

我需要重新啓動一個Windows Mobile 6應用程序。如何在Windows Mobile 6中執行Application.Restart()?

這是我試過的代碼,但它只是退出並且不重新啓動應用程序。

public static void RestartApplication() 
{ 
    var fileName = Assembly.GetExecutingAssembly().GetName().CodeBase; 
    var startInfo = new ProcessStartInfo 
    { 
     FileName = fileName, 
    }; 
    Process.Start(startInfo); 
    Application.Exit(); 
} 

謝謝!

+1

的應用程序不會被再次運行可能的原因是因爲緊湊的框架自動處理單實例,所以當你運行它的第二次時間(因爲應用程序還沒有關閉),它只是把你的應用程序放在前面。 – Matt 2009-08-31 22:33:37

+0

謝謝,幫助! – 2009-08-31 23:27:42

回答

2
+0

其實你可能無法設置它10秒。 CeRunAppAtTime的默認平臺實現需要將來的時間超過11秒,否則它將立即進行調度。原始設備製造商很少會改變這種情況,所以會發生的情況是它現在將其調度到現在,而第二個實例會在調用實例關閉之前嘗試啓動。 – ctacke 2009-08-31 23:38:58