如果按下关闭按钮,则杀死Mac OSX应用程序

时间:2015-01-05 13:23:54

标签: objective-c macos cocoa applescript pyobjc

如果按下红色关闭按钮,我想杀死进程窗口(任何进程)。不寻找第三方解决方案(如RedQuits)。

一种解决方案是通过AppleScript进行,但这涉及到我正在努力避免的轮询。

我读到了 NSDistributedNotificationCenter ,但无法确定浏览器是否发送了关于关闭进程的系统通知。例如,每当歌曲播放/暂停时,itunes都会发送通知 com.apple.iTunes.playerInfo 。如何查找其他应用发送的通知?有什么帮助吗?

还有其他解决方案吗?

3 个答案:

答案 0 :(得分:2)

您是否在最后一个窗口关闭时尝试退出应用程序,请使用:

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSApplicationDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSApplicationDelegate/applicationShouldTerminateAfterLastWindowClosed

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication

或者您正在寻找在窗口关闭时收到通知的方法,请使用:

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSWindowDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSWindowDelegate/windowWillClose

- (void)windowWillClose:(NSNotification *)notification

答案 1 :(得分:1)

答案 2 :(得分:-1)

Modifying Window Button Colors in Mac OS X

这不是答案..但它可能是正确的方向。我会保持眼睛去皮!