关闭应用程序的窗口(OSX)

问题描述:

如何在Mac中关闭所有打开的窗口?关闭应用程序的窗口(OSX)

在windows我们使用EnumWindows(),然后SendMessage(hwnd, WM_NCDESTROY, 0, 0) 是,该方法我们也应该采取在OSX或者有不同的方式?

这取决于您是使用Carbon还是Cocoa作为界面。

- (void)closeAllWindows { 
    [[NSApp windows] makeObjectsPerformSelector:@selector(performClose:) 
            withObject:nil]; 
} 

什么这通常做的就是让全球NSApplication对象其数组的-windows

如果您使用可可和Objective-C,它是那么容易。

或者,您可能需要指定-close代替-performClose:,具体取决于您在应用中使用的窗口类型。请参阅文档以确定哪种可能是更适合使用的方法。

如果您使用碳和碳事件管理器,我不得不将其留给其他人,因为我不知道。 ;-)