如何拦截Cmd + Q.

时间:2017-02-04 11:12:16

标签: macos

我正在开发Win / MacOS游戏应用。 当用户关闭应用程序时,我想显示确认弹出窗口“你确定要离开吗?”。

在Windows上,我会收听WM_CLOSE消息来拦截 Alt-F4 。然后,如果用户选择“是,我想离开” - 我致电PostQuitMessage(0);退出应用。

如何在Mac OS上拦截 Cmd + Q ?并且,如果用户选择“是,我想离开” - 如何关闭应用程序(即默认情况下如何执行与 Cmd + Q 相同的操作)?

MacOS部分是用简单的Objective-C编写的,我正在寻找Objective-C中的答案。

1 个答案:

答案 0 :(得分:2)

实施applicationShouldTerminate的委托方法NSApplication并显示自定义模式提醒。取决于答案返回NSTerminateNowNSTerminateCancelNSTerminateLater

如果是NSTerminateLater,您可以稍后致电[NSApp replyToApplicationShouldTerminate:YES];以最终退出该应用。