有沒有一種方法可以從Adobe Flash的ActionScript中調用命令行(在Debian上)?例如,執行文件:Adobe Flash中的命令行調用
python update.py
的步驟在Windows操作系統上也將不勝感激!
有沒有一種方法可以從Adobe Flash的ActionScript中調用命令行(在Debian上)?例如,執行文件:Adobe Flash中的命令行調用
python update.py
的步驟在Windows操作系統上也將不勝感激!
如果您在Linux上使用Adobe AIR的2.0.x版本,你可以使用的NativeProcess()類(假設你的update.py被標記爲可執行文件(A + X):
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("update.py");
nativeProcessStartupInfo.executable = file;
var processArgs:Vector.<String> = new Vector.<String>();
processArgs.push("AnUpdateArgument");
nativeProcessStartupInfo.arguments = processArgs;
process = new NativeProcess();
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.start(nativeProcessStartupInfo);
public function onOutputData(event:ProgressEvent):void
{
var stdOut:ByteArray = process.standardOutput;
var data:String = stdOut.readUTFBytes(process.standardOutput.bytesAvailable);
trace("Got: ", data);
}
Communicating with native processes in AIR
注:無法通過基於瀏覽器的SWF做這個
OK
我看我可以代替文件變量的值什麼都我需要前。 ecuted.That很好,如果我想執行該文件。怎麼樣一個簡單的命令,如cd MyDir
或mkdir ThisAndThat
只是簡單的傳球到殼將是偉大的。我也用SFW來使用GNU Gnash。
每次調用「process.start(nativeProcessStartupInfo);」你會得到一個新的shell,那麼你可以「cd MyDir」嗎?當然,但是在cmd完成後shell的狀態已經消失。像「mkdir ThisAndThat」可以用Air的File.createDirectory()完成。如果有一系列的shell cmd,你可以調用一個現有的腳本或者啓動「sh」作爲一個進程,並傳遞一串參數,就像你從bash/zsh/etc中一樣。單線程(即:sh - c「cd〜/ script; ./fixme.sh; cd〜/ foo; ./python-script.py」) – SushiHangover
@RobertN你會推薦一個類似於Flash的平臺,它可以更容易地與操作系統進行交互嗎?我正在製作一個imbeded設備,我將爲我的ui使用閃光燈,因爲它可以全屏使用,並且可以在圖形化的所見即所得環境中進行設計。我卡住了。 – Transisco
我不使用空氣。這仍然適用於本地瑞士法郎嗎? – Transisco
不,訪問本機進程,文件系統等僅基於AIR。由於安全沙箱,這些API不適用於基於瀏覽器的Flash/SWF。 – SushiHangover