Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 覆盖Windows 10 Universal Apps UWP上的关闭框_C++_Uwp_Windows 10_Universal - Fatal编程技术网

C++ 覆盖Windows 10 Universal Apps UWP上的关闭框

C++ 覆盖Windows 10 Universal Apps UWP上的关闭框,c++,uwp,windows-10,universal,C++,Uwp,Windows 10,Universal,我试图通过单击应用程序窗口上的关闭框来阻止关闭应用程序。 例如,如果有一个包含未保存更改的文本编辑器,在按下“关闭”框时,我会首先显示“是否要在退出之前保存更改?” 我怎样才能检测到想要关闭的应用程序并防止这种情况发生 我使用C++,这需要Windows 10通用应用程序UWP。 我已经知道如何在Win32上执行此操作。注释是正确的。目前,普通商店应用程序无法做到这一点 但是,随着Creators更新(以及相应的SDK),我们提供了一个预览API,您现在可以查看此功能: Windows.UI.C

我试图通过单击应用程序窗口上的关闭框来阻止关闭应用程序。 例如,如果有一个包含未保存更改的文本编辑器,在按下“关闭”框时,我会首先显示“是否要在退出之前保存更改?”

我怎样才能检测到想要关闭的应用程序并防止这种情况发生

<>我使用C++,这需要Windows 10通用应用程序UWP。
我已经知道如何在Win32上执行此操作。

注释是正确的。目前,普通商店应用程序无法做到这一点

但是,随着Creators更新(以及相应的SDK),我们提供了一个预览API,您现在可以查看此功能:

Windows.UI.Core.Preview.SystemNavigationManagerPreview类提供一个CloseRequested事件,应用程序可以将该事件标记为已处理。要使事件正常运行,应用程序需要根据以下各项声明受限的“confirmAppClose”功能:

请让我们知道您的反馈

谢谢,
Stefan Wick-Windows Developer Platform

我认为您无法做到这一点,您只能对当时调用的应用程序挂起事件做出反应。这是可能的,因为Microsoft Edge browser是一款UWP应用程序,在某些情况下它支持此行为。例如,在Facebook聊天中,在不按enter键的情况下键入一些消息(发送),然后尝试关闭浏览器。这意味着这是可能的,我只是不知道怎么做。任何帮助?Edge是第一方应用程序-MS可以使用其他人无法使用的API。明确表示没有申请关闭活动。感谢您提供令人激动的信息。我将等待API最终确定,因为16299中没有“ConfirmAppClose”功能sdk@Snekithan:是的,自从创建者按照答案中所述进行更新以来,此选项一直可用。以下是MSDN链接:是否有方法从页面视图按钮触发SystemNavigationManagerView.GetForCurrentView().CloseRequested()事件,以引起与单击右角的标准问题X相同的后续事件?我尝试了“Window.Current.Close();”,它生成了一个“System.Runtime.InteropServices.COMException:“在意外的时间调用了一个方法。不允许关闭主窗口。”“CloseRequested仅在用户启动的关闭手势(如单击X按钮)时触发。”。如果要以编程方式关闭应用程序,可以调用Application.shutdown()。如果你想让用户确认,你可以在打电话之前这样做。