【问题标题】:How to know if the user force quit app?如何知道用户是否强制退出应用程序?
【发布时间】:2023-03-08 12:16:01
【问题描述】:

在我的 mac 应用程序中,我通过更改设备的系统分辨率来支持全屏。如果用户从全屏模式切换到窗口模式或用户退出应用程序并且我还需要处理强制退出情况,我将重置回旧分辨率。
1.如果用户按下cmd+opt+esc(强制退出),是否有任何API或回调告诉应用程序。
2. 有没有其他办法处理?

我知道在 NSApplicaction 中有一个选项可以禁用强制退出([NSApplication setPresentationOptions: NSApplicationPresentationDisableForceQuit]),但我不想禁用它,而是要处理强制退出事件。

【问题讨论】:

    标签: cocoa macros nsapplication


    【解决方案1】:

    普遍的共识是强制退出会发送SIGKILL(“共识”,因为我不知道任何说明这一点的 Apple 文档,但这是合乎逻辑的答案)。 SIGKILL 无法被捕获,因此您无法直接进行清理。另一种方法是运行一个助手应用程序来监视您的主应用程序并进行清理,主应用程序可以在正常退出时终止助手。另请参阅question

    【讨论】:

    • 如果您必须启用强制退出并处理它,辅助应用程序似乎是要走的路。
    猜你喜欢
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    相关资源
    最近更新 更多