使用C#重启应用程序

时间:2010-10-09 00:34:38

标签: c# wpf

如何使用C#重启我的WPF应用程序?

4 个答案:

答案 0 :(得分:26)

我认为WPF中没有像WinForms中那样的直接方法。但是,您可以使用Windowns.Form命名空间中的方法,如下所示:(您可能需要添加对System.Windows.Form程序集的引用)

System.Windows.Forms.Application.Restart();

System.Windows.Application.Current.Shutdown();

答案 1 :(得分:9)

以下是我找到的最佳解决方案,您不需要添加对System.Windows.Forms的引用,而是需要添加已经具有对其程序集的引用的名称空间System.Diagnostics: / p>

Process.Start(Application.ResourceAssembly.Location);
Application.Current.Shutdown();

答案 2 :(得分:6)

代码

Process.Start(Application.ResourceAssembly.Location);

不适用于.NET Core 3.1应用程序。改为使用

using System.Diagnostics;
using System.Windows;

...

Process.Start(Process.GetCurrentProcess().MainModule.FileName);
Application.Current.Shutdown();

这也适用于.NET Framework应用程序。

答案 3 :(得分:3)

您可以使用Windows API Code Pack的重启和恢复API。请注意,这是一个新API,因此它只适用于当前的操作系统(即:Windows 7)。