2012-03-14 3 views
0

Я схожу с ума! У меня есть приложение Air (2.6), которое при запуске открывает всплывающее окно NativeWindow для обработки предупреждений.Закрытие дочернего файла nativeWindows, когда основное приложение закрывается (через ОС)

public var _alertWindow:NativeWindow; 

_alertWindow = new NativeWindow(windowOptions); 
_alertWindow.stage.scaleMode = StageScaleMode.NO_SCALE; 
_alertWindow.stage.align = StageAlign.TOP_LEFT; 
_alertWindow.bounds = new Rectangle(0, 0, content.width, content.height); 

_alertWindow.title = ""; 
_alertWindow.alwaysInFront = true; 

_alertWindow.x = Screen.mainScreen.bounds.width - _containerWidth; 
_alertWindow.y = Screen.mainScreen.bounds.height - _containerHeight; 
_alertWindow.stage.addChild(_contentContainer); 

Это все прекрасно работает - при закрытии приложения с помощью кнопки закрытия я зову:

AppName._alert._alertWindow.close(); 
    NativeApplication.nativeApplication.exit(); 

У меня не было никаких проблем с этим на всех платформах. Но в Windows7, когда правый щелчок на панели задач и выбор «закрытого окна» закрывает главное приложение, а не его дочерний NativeWindow. (Это заставляет приложение работать в фоновом режиме - поэтому, когда пользователь пытается получить к нему доступ снова, он не запускается) Я попытался добавить прослушиватели событий, такие как Event.CLOSING, и другие другие методы, но сработал. Если у кого-нибудь есть идеи о том, как закрыть окна из окна «закрыть окно» в Windows 7.

Спасибо за вашу помощь

Jono

ответ

0

Вы можете закрыть все родные окна, которые открыты с помощью что-то напоминает формат для этого:

private function closeMenus() : void 
{ 
    var nativeWindows:Array = NativeApplication.nativeApplication.openedWindows; 

    for (var i:int = 0; i< nativeWindows.length; i++) 
    { 
     if(!(nativeWindows[i] as NativeWindow).closed) 
     { 
      (nativeWindows[i] as NativeWindow).close(); 
     } 
    } 
} 

Предположив у вас есть обработчик где-то, что вызывает выход:

NativeApplication.nativeApplication.exit(); 

Вы можете поместить этот код перед этим звонком.

+0

Да! .openWindows Огромное вам спасибо! серьезно был в конце концов с этим! – Jono

 Смежные вопросы

  • Нет связанных вопросов^_^