从库中调用当前应用程序的相应Exit方法?

时间:2017-06-10 05:27:47

标签: c# wpf winforms console-application exit

我为AutoUpdate应用程序创建了一个类库。它需要在完成下载更新时终止应用程序。目前,我使用下面的代码确定要使用的退出方法。

if (Application.MessageLoop)
{
    Application.Exit();
}
else
{
    Environment.Exit(0);
}

我知道Environment.Exit(0)是一种杀死应用程序的残酷方法,当应用程序使用CefSharp时它不会杀死应用程序。当应用程序是WPF时,有什么办法可以调用Application.Current.Shutdown()吗?

如果您不理解这个问题,可以使用以下网址查看问题并完成项目。

https://github.com/ravibpatel/AutoUpdater.NET/issues/11

2 个答案:

答案 0 :(得分:1)

  

当应用程序是WPF时,有什么办法可以调用Application.Current.Shutdown()吗?

只需检查运行时是否有Application个对象:

if (System.Windows.Application.Current != null) //if WPF
    System.Windows.Application.Current.Shutdown();

如果Application.Current返回Application个对象,您可以假设您的代码在WPF应用程序的上下文中执行,您可以安全地调用Shutdown方法。

答案 1 :(得分:0)

您应该可以在WPF类中放入this.close();