2017-02-04 17 views
1

私はWin/MacOSゲームアプリを開発中です。 ユーザーがアプリを閉じると、確認のポップアップ「あなたはお忘れですか?」と表示したいと思います。Cmd + Qを傍受する方法

Windowsでは、私はWM_CLOSEを傍受するメッセージを聞きますAlt-F4。ユーザーが「はい、退会したい」を選択すると、PostQuitMessage(0);に電話してアプリを終了します。

私はどのように傍受するのですか?Cmd + Q Mac OSでは?ユーザーが[はい、退会したい]を選択した場合 - アプリを終了するにはどうすればいいですか?つまり、デフォルトでCmd + Qと同じ操作を実行する方法はありますか?

MacOSの部分はObjective-Cで書かれていますが、私はObjective-Cで答えを探しています。

+0

[OSXでスイング:コマンド-Qをトラップする方法](http://stackoverflow.com/questions/2061194/swing-on-osx-how-to-trap-command-q)の可能な複製 – BladeMight

答えて

2

applicationShouldTerminateNSApplicationを実装し、カスタムモーダルアラートを表示します。答えに応じてNSTerminateNowNSTerminateCancelまたはNSTerminateLaterを返します。

NSTerminateLaterの場合は、後で[NSApp replyToApplicationShouldTerminate:YES];に電話して、アプリを終了できます。

関連する問題