2012-03-13 130 views
1

如何在Mac中關閉所有打開的窗口?關閉應用程序的窗口(OSX)

在windows我們使用EnumWindows(),然後SendMessage(hwnd, WM_NCDESTROY, 0, 0) 是,該方法我們也應該採取在OSX或者有不同的方式?

回答

0

這取決於您是使用Carbon還是Cocoa作爲界面。

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

什麼這通常做的就是讓全球NSApplication對象其數組的-windows

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

或者,您可能需要指定-close代替-performClose:,具體取決於您在應用中使用的窗口類型。請參閱文檔以確定哪種可能是更適合使用的方法。

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

相關問題