2
是否有可能以編程方式確定AIR應用程序是從命令行啓動還是通過雙擊應用程序圖標啓動?以編程方式確定是否從命令行啓動AIR應用程序?
我希望能夠做一些事情,如:
`if (e.launchedFromCLI) { foo(); }`
是否有可能以編程方式確定AIR應用程序是從命令行啓動還是通過雙擊應用程序圖標啓動?以編程方式確定是否從命令行啓動AIR應用程序?
我希望能夠做一些事情,如:
`if (e.launchedFromCLI) { foo(); }`
試着聽聽NativeApplication
INVOKE
事件,這是我唯一知道的地方,你可以找到這樣的信息。
似乎你不能區分CMD發射和圖標發射 - 除非你在CMD中傳遞一些參數。
http://help.adobe.com/en_US/AIR/1.5/jslr/flash/desktop/NativeApplication.html#event:invoke
我已經聽來調用和解析出的參數。問題是,如果我通過雙擊相關文件來運行應用程序,那麼我會得到一個參數(文件路徑),如果我從命令行運行,則接受多個參數。我可以發明一些方案,比如用' - '字符開始我所有的命令行參數,並且假設我得到一個參數*而不是*以' - '開始它來自非CLI啓動,但是這種感覺是一點點黑客。 –
@Jamie Bullock「問題是,如果我通過雙擊相關文件來運行應用程序,我會得到一個參數(文件的路徑),如果我從命令行運行,則接受多個參數。」我不明白這會引入你的應用程序的問題。 – JeffryHouser
@ www.Flextras.com這是一個問題,當我得到*只有一個*參數。在這種情況下,確定參數表示的唯一方法是檢查其內容並採用一些啓發式方法,如if(args [0] .substr(0,1)!=「 - 」){}。如果Flex提供了一種以編程方式確定給定參數是否代表從圖標啓動傳遞的路徑的方法,那將會更好。 –