如何以编程方式退出或关闭UWP C ++应用程序?

时间:2017-03-24 21:35:28

标签: c++ xaml uwp uwp-xaml

我想添加"退出"我的应用程序中的按钮 如果我写这样的话:

void LibraryUWP::MainPage::ExitEvent(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    Application::Exit;
}

我有一个错误:

  

1> ... \ mainpage.xaml.cpp(32):错误C3867:' Windows :: UI :: Xaml :: Application :: Exit&#39 ;:非标准语法;使用'&'创建指向成员的指针

如果我跑

void LibraryUWP::MainPage::ExitEvent(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    Application::Exit();
}

我有:

  

1> ... \ mainpage.xaml.cpp(32):错误C2352:' Windows :: UI :: Xaml :: Application ::退出'非法调用非静态成员函数

如果我这样做:

void LibraryUWP::MainPage::ExitEvent(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    Application::Current::Exit();
}

我有一个错误:

  

1> ... \ mainpage.xaml.cpp(32):错误C2039:'退出':不是' Windows :: UI :: Xaml :: Application的成员: :当前'
  1> ... \ mainpage.xaml.cpp(32):错误C3861:'退出':标识符未找到

我理解,第一个&第二个变种无法奏效。但第三个呢?或其他什么?

MS Visual Studio 2015 Update 3。 对于Windows 10.10240平台

P.S。如果我在没有上一个护腕的情况下运行第三个变体,我会遇到同样的错误,告诉我,我们没有这样的方法。

2 个答案:

答案 0 :(得分:4)

将您的代码更改为:

void MyApp::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    Application::Current->Exit();
}

谢谢,

Stefan Wick - Windows开发人员平台

答案 1 :(得分:0)

如果您的应用只有一个窗口,则可以这样退出应用:

void UWPcpp::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    ApplicationView::GetForCurrentView()->TryConsolidateAsync();
}

这会挂起您的应用程序,而不是突然退出它,这也是重新启动应用程序的唯一方法,它的大小和位置与以前相同。