关闭应用程序的窗口(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:,具体取决于您在应用中使用的窗口类型。请参阅文档以确定哪种可能是更适合使用的方法。
如果您使用碳和碳事件管理器,我不得不将其留给其他人,因为我不知道。 ;-)