いくつかの機能は、ファイルシステム内で実行可能なアプリケーションの名前を変更し、起動時に実行ファイルの名前を検出することに依存するAIRアプリケーションを構築しています。アプリケーションの実行中に変更を検出する必要はありません。違いがあれば、パスや拡張子は必要ありません。名前だけです。AIRアプリケーションの現在のファイル名を取得するにはどうすればよいですか?
実行可能ファイルがそのフォルダ内の唯一のアイテムだった場合、Fileクラスからアプリケーションディレクトリを取得してそこから移動できます。しかし、このAIR実行可能ファイルのコピーがフォルダ内に複数存在する可能性のあるソリューションを用意することは理想的です。それぞれが一意のものに名前が変更されています。
NativeApplicationクラス、Systemクラス、Fileクラス、およびこの問題に関連すると思われるその他のクラスは無駄です。私が最も近かったのは、アプリケーション記述子XMLからファイル名を取得することですが、公開されたときにアプリケーションに与えられるデフォルトの名前のみが反映されます。
これで、起動時にAIRアプリケーションの正確な現在のファイル名をどのように取得できますか?
EDIT:具体的には、この実行可能ファイルは.appファイルであり、Windowsでは.exeファイルです。
EDIT2:loaderInfo.urlは機能しません。これは、AIRアプリケーション内で実行されているSWFファイルの名前で、AIRアプリケーション/ exeの名前ではありません。 Macを使用している場合は、AIRアプリケーションのパッケージ内容を開いてResourcesフォルダを調べることで、このSWFファイルを確認できます。
これがうまくいくかどうかは考えられませんが、それは答えではありませんが、Application.application.loaderInfo.urlはどうでしょうか? – cwallenpoole
いいえ、loaderInfo.urlは、AIRアプリケーション内で実行されているSWFファイルの名前を指定します。 Macを使用している場合は、AIRアプリケーションのパッケージ内容を開いてResourcesフォルダを調べることで、このSWFファイルを確認できます。このSWFはApplication.xmlファイルのinitialWindowプロパティによって参照されています.Application.xmlファイルにはこれまで見つからなかった多くの興味深いアプリケーション設定が含まれています。しかし、残念なことに、実際の現在のアプリファイル名に関する手がかりはありません。しかし、私は掘り続けるつもりです。 – ivanreese
[FlashScriptのファイル名をActionScriptで参照するにはどうすればよいですか?](http://stackoverflow.com/questions/21521245/how-can-i-reference-a-flash-files-own-filename-from -actionscript) –