如何在Mac中关闭所有打开的窗口?
在Windows中,我们使用的是EnumWindows()
,然后是SendMessage(hwnd, WM_NCDESTROY, 0, 0)
这是我们在OSX中应采用的方法还是采用不同的方式?
答案 0 :(得分:1)
这取决于您是使用Carbon还是Cocoa作为界面。
如果你正在使用Cocoa和Objective-C,它就像:
一样简单- (void)closeAllWindows {
[[NSApp windows] makeObjectsPerformSelector:@selector(performClose:)
withObject:nil];
}
这基本上做的是询问全局NSApplication
对象的-windows数组。
或者,您可能需要指定-close代替-performClose:,具体取决于您在应用中使用的窗口类型。请参阅文档以确定哪种方法可能更合适。
如果您正在使用Carbon和Carbon Event Manager,我将不得不将其留给其他人,因为我不知道。 ; - )