2011-07-06 50 views
2

我正在構建一個AIR應用程序,其中一些功能取決於在文件系統中重命名應用程序可執行文件,並檢測可執行文件啓動時的任何名稱。我不需要在應用程序運行時檢測到更改,如果這有什麼區別,我不需要路徑或擴展名 - 只是名稱。如何獲取AIR應用程序的當前文件名?

如果可執行文件是其文件夾中的唯一項目,我可以從File類獲取應用程序目錄並從那裏開始。但是,如果在一個文件夾中可能存在多個此AIR可執行文件的副本,並且每個副本都被重命名爲獨特的東西,那麼這將是理想的解決方案。

我已經看過NativeApplication類,System類,File類以及任何其他類似乎與此問題相關的類,但都無濟於事。我最接近的是從應用程序描述符XML中獲取文件名,但這隻反映了應用程序發佈時的默認名稱。

那麼,我如何才能在啓動時獲取AIR應用的當前文件名?

編輯:更具體地說,在Mac上,這個可執行文件將是.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屬性引用,它包含了我迄今尚未發現的很多有趣的應用程序設置。但是,唉,沒有關於實際的,當前的應用程序文件名的線索。但我會繼續挖掘。 – ivanreese

+0

可能重複[如何從actionscript引用Flash文件自己的文件名?](http://stackoverflow.com/questions/21521245/how-can-i-reference-a-flash-files-own-filename-from -actionscript) –

回答

1

使用以下過程:

XSLT樣式表
+0

我很久以前就開始轉向其他項目,並且不再有權訪問有問題的代碼庫。我會誠意接受你的回答。如果這個答案不適用於任何閱讀此內容的人,請發表評論,我會相應修改。 – ivanreese

相關問題