2011-07-06 13 views
2

いくつかの機能は、ファイルシステム内で実行可能なアプリケーションの名前を変更し、起動時に実行ファイルの名前を検出することに依存するAIRアプリケーションを構築しています。アプリケーションの実行中に変更を検出する必要はありません。違いがあれば、パスや拡張子は必要ありません。名前だけです。AIRアプリケーションの現在のファイル名を取得するにはどうすればよいですか?

実行可能ファイルがそのフォルダ内の唯一のアイテムだった場合、Fileクラスからアプリケーションディレクトリを取得してそこから移動できます。しかし、このAIR実行可能ファイルのコピーがフォルダ内に複数存在する可能性のあるソリューションを用意することは理想的です。それぞれが一意のものに名前が変更されています。

NativeApplicationクラス、Systemクラス、Fileクラス、およびこの問題に関連すると思われるその他のクラスは無駄です。私が最も近かったのは、アプリケーション記述子XMLからファイル名を取得することですが、公開されたときにアプリケーションに与えられるデフォルトの名前のみが反映されます。

これで、起動時にAIRアプリケーションの正確な現在のファイル名をどのように取得できますか?

EDIT:具体的には、この実行可能ファイルは.appファイルであり、Windowsでは.exeファイルです。

EDIT2:loaderInfo.urlは機能しません。これは、AIRアプリケーション内で実行されているSWFファイルの名前で、AIRアプリケーション/ exeの名前ではありません。 Macを使用している場合は、AIRアプリケーションのパッケージ内容を開いてResourcesフォルダを調べることで、このSWFファイルを確認できます。

+0

これがうまくいくかどうかは考えられませんが、それは答えではありませんが、Application.application.loaderInfo.urlはどうでしょうか? – cwallenpoole

+0

いいえ、loaderInfo.urlは、AIRアプリケーション内で実行されているSWFファイルの名前を指定します。 Macを使用している場合は、AIRアプリケーションのパッケージ内容を開いてResourcesフォルダを調べることで、このSWFファイルを確認できます。このSWFはApplication.xmlファイルのinitialWindowプロパティによって参照されています.Application.xmlファイルにはこれまで見つからなかった多くの興味深いアプリケーション設定が含まれています。しかし、残念なことに、実際の現在のアプリファイル名に関する手がかりはありません。しかし、私は掘り続けるつもりです。 – ivanreese

+0

[FlashScriptのファイル名をActionScriptで参照するにはどうすればよいですか?](http://stackoverflow.com/questions/21521245/how-can-i-reference-a-flash-files-own-filename-from -actionscript) –

答えて

1

次のプロセスを使用します。

  • 必要に応じて、アプリケーション記述ファイルに<filename>要素
  • Apply it
を適用するXSLTスタイルシートを作成し HTMLLoaderで、クラス XSLTProcessorを使用します
+0

私は長い間、他のプロジェクトに移り、問題のコードベースにアクセスすることはできません。私はあなたの答えを誠実に受け入れます。この回答がこれを読んでいる人にとってうまくいかない場合は、コメントしてください。 – ivanreese

関連する問題