2010-08-19 72 views
3

我想以編程方式從我的flex應用程序執行CMD命令。類似於如何使用actionscript在flex中執行CMD命令?

> mediaplayer.exe "mySong.mp3" 

我也嘗試過使用fscommand,但沒有成功。雖然谷歌搜索,我瞭解到,它不支持的AIR。我想知道是否有任何其他執行命令的選項。謝謝...

回答

7

您需要使用NativeProcess這是隻有在AIR 2.0+

可用這應該做的伎倆:

if(NativeProcess.isSupported) 
{ 
    var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); 

    var mp:File = new File(); 
    mp = mp.resolvePath('native\path\to\mediaplayer.exe'); 

    nativeProcessStartupInfo.executable = mp; 

    var args:Vector.<String> = new Vector.<String>(); 

    args.push('mySong.mp3'); 

    nativeProcessStartupInfo.arguments = args; 

    var process:NativeProcess = new NativeProcess(); 

    process.start(nativeProcessStartupInfo); 

} 

另外,還要確保您的app.xml文件包含此:

<supportedProfiles>extendedDesktop</supportedProfiles> 
+0

感謝Alxx和John。這兩個答案實際上幫助了我。但我只能接受一個。 :( @John:只有當'extendedDesktop'獨立於節點時,該應用才能正常工作。與'desktop'一起給出的是拋出'當前配置文件錯誤中不支持'。 – Goje87 2010-08-20 09:32:32

+0

@ Goje87感謝您的反饋,我更新了我的回答以反映這一點。 – 2010-08-20 13:16:34

+0

是否有可能在Flex應用程序中捕獲命令行窗口的響應。 – 2015-06-09 02:02:23

2

它由AIR 2.0的支持,看到 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html

而且,你不應該部署您的應用程序作爲.air文件,但爲了的NativeProcess本機安裝工作(與ADT來自AIR SDK的控制檯工具)。途中有幾個問題,但可以完成。 在開發中,您可以輕鬆測試NativeProcess。

+0

這是一個將.air文件轉換爲本機安裝程序的應用程序:http://www.webkitchen.be/package-assistant-pro/ – 2010-08-20 13:18:34