1

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

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

4

1 回答 1

3

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

于 2012-07-10T18:52:03.557 回答