Windows Phone 8 用の XAML を使用しない C++ DirectX アプリケーションを作成しています。手動でアプリを閉じたいので、戻るキーを処理しましたが、cpp の API が見つかりません。
C# には公式の APISystem.Windows.Application.Current.Terminate()
がありますが、cpp には名前空間がありませんSystem::Windows::Application
。
私はたくさん検索しましたが、C# メソッドしか見つかりません。試しWindows::UI::Core::CoreWindow::GetForCurrentThread()->Close();
てみましたアプリを閉じることはできますが、エラーが発生しPlatform::COMException
、try-catch で解決できません。
////////////////////アップデート1/////////////
よく見つけた
int b = 0.1*10 - 1;
int a = 1/ b;
アプリも終了します。Windows::UI::Core::CoreWindow::GetForCurrentThread()->Close();
閉じる方法ではありません。多分それはただのクラッシュです。
////////////////////更新2/////////////
API を見つける
Windows::ApplicationModel::Core::CoreApplication::Exit();
しかし、ドキュメントはそれを言います
「アプリをシャットダウンします。このメソッドを使用して、テストまたはデバッグのシナリオ以外でアプリをシャットダウンしないでください。」
だから審査に通らないと思います。
////////////////////更新3/////////////
Windows::ApplicationModel::Core::CoreApplication::Exit(); を使用する場合 アプリを閉じます。アイコンをクリックしてアプリを再起動します。開始するには非常に長い時間がかかります。Windows::ApplicationModel::Core::CoreApplication::Exit() システム サービスを閉じます。ただし、例外を使用してアプリを閉じると、起動に時間がかかりません。
////////////////////更新4/////////////
Windows::ApplicationModel::Core::CoreApplication::Exit(); を使用する場合 シミュレーターでは、アイコンをもう一度クリックしてもアプリを再起動できません