[英]How to run an EXE file from Flash/Flex/AIR?
我想從我的Flash / Flex / AIR應用程序運行.exe文件,怎么可能?
我需要的是構建一個接口來打開一個xls文件並將其轉換為swf,當我運行convert.exe infile.xls outFile.swf
時,我有一個轉換文件,它是一個exe文件。 轉換完成后,我需要在我的應用程序中顯示所有swfs。
我知道動作腳本3.0。
我認為這可以使用AIR自2.0版本使用NativeProcess
。 我不知道你是否可以運行.exe文件(因為安全問題),但我知道你可以運行python腳本(我已經完成了)所以你可以創建一個調用.exe文件的python腳本
以下是NativeProcess
幫助中的(注釋)示例:
// ...
// package and imports declarations
// ...
public class NativeProcessExample extends Sprite
{
// this is the process
public var process:NativeProcess;
public function NativeProcessExample()
{
// we have to know if we can run NativeProcess
if(NativeProcess.isSupported)
setupAndLaunch();
else
trace("NativeProcess not supported.");
}
public function setupAndLaunch():void
{
// we create a NativeProcessStartupInfo, this will tell the what process do you want to run
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("test.py");
nativeProcessStartupInfo.executable = file;
// now create the arguments Vector to pass it to the executable file
var processArgs:Vector.<String> = new Vector.<String>();
processArgs[0] = "foo";
nativeProcessStartupInfo.arguments = processArgs;
// create the process
process = new NativeProcess();
// listen to events for I/O and Errors
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData);
process.addEventListener(NativeProcessExitEvent.EXIT, onExit);
process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError);
process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError);
// run it!
process.start(nativeProcessStartupInfo);
}
// event handlers
public function onOutputData(event:ProgressEvent):void
{
trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable));
}
public function onErrorData(event:ProgressEvent):void
{
trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable));
}
public function onExit(event:NativeProcessExitEvent):void
{
trace("Process exited with ", event.exitCode);
}
public function onIOError(event:IOErrorEvent):void
{
trace(event.toString());
}
}
我希望這有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.