ウィンドウを閉じる処理

AIRアプリ、起動させたあとは、フルスクリーン化*1させたらクローズボタンがなくなるので、Alt+F4を押すかEscキーでフルスクリーンを解除したあとタスクバーのメニューからしか終了させる方法が無い。それではあんまりなので、内部的にキーイベントとかから終わらせてみたいと思います。
fscommand("quit")で終了させようとしたが、動作してくれない。AIRの場合はちょっと違うのかもしれなくて調べてみた。

上記サイトを参考にしてみたら下記のコードで終了処理が行えました。

trace( stage.window ); // 確認 → [object NativeWindow]
stage.window.close();  // 動作しない場合、下記項目を参照のこと.

このNativeWindowというのが、ヘルプに載っていないのですが、どういうメソッドやパラメータがあるんだろう?Stageクラスのヘルプにも書いてないし。(次の項目参照)

UPDATE: NativeWindowについて(2008-04-20更新)

amxmlcでAIRアプリを作ろうと思ってこのエントリを参考にして終了処理を実装しようとしたらどうも上記の手法ではwindowが定義されてないと言われる

つまり、次のようにコーディングすると終了できるのです。

stage.nativeWindow.close(); // AIR用でのみコンパイル可.

AIR用なので、amxmlcではコンパイルが通りますが、mxmlcでは次のようにエラーメッセージが出ます。

C:\hoge.as(47): col: 10 Error: 未定義である可能性が高い
プロパティ nativeWindow に静的型 flash.display:Stage の
参照を使用してアクセスしています。

       stage.nativeWindow.close(); // amxmlcでのみ有効.
             ^