Как я могу закрыть все мои открытые окна в Mac?Закрытие окон приложения (OSX)
В окнах мы используем EnumWindows()
, а затем SendMessage(hwnd, WM_NCDESTROY, 0, 0)
Это тот подход, который мы должны принять также в OSX или что есть другой способ?
Как я могу закрыть все мои открытые окна в Mac?Закрытие окон приложения (OSX)
В окнах мы используем EnumWindows()
, а затем SendMessage(hwnd, WM_NCDESTROY, 0, 0)
Это тот подход, который мы должны принять также в OSX или что есть другой способ?
Это зависит от того, используете ли вы углерод или какао для вашего интерфейса.
Если вы используете какао и Objective-C, это так же просто, как:
- (void)closeAllWindows {
[[NSApp windows] makeObjectsPerformSelector:@selector(performClose:)
withObject:nil];
}
То, что это в основном делает это задать глобальный NSApplication
объект для его массива -windows.
В качестве альтернативы, вы можете указать -close вместо -performClose:, в зависимости от типа окон, которые у вас есть в приложении. См. Документацию, чтобы определить, какой из них может быть более подходящим методом.
Если вы используете Carbon and Carbon Event Manager, мне придется оставить это для других, поскольку я понятия не имею. ;-)