您的位置:首页 > 大数据 > 人工智能

flex air应用程序在windows环境下调用外部exe程序的一种方法

2011-10-20 16:45 459 查看
最近做项目遇到了这个纠结问题,找了很多方法都不行,最终根据网上提供的方法找到了一种解决办法,特此与大家分享。

主要代码:

import flash.desktop.NativeProcess;

import flash.desktop.NativeProcessStartupInfo;

import flash.filesystem.File;

import mx.controls.Alert;

public class ProcessControl

{

public function ProcessControl()

{

}

//url为外部应用程序的路径

public static function executeURL(url:String):void{

var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();

var file:File = new File(url);

info.executable = file;

var pro:NativeProcess = new NativeProcess();

pro.start(info)

}

}

NativeProcess是air2.0提供的类,我用的sdk是4.5.1,当在flashBuilder中测试的时候会报错:

Error: Error #3219: The NativeProcess could not be started. 'Not supported in current profile.'

at Error$/throwError()

at flash.desktop::NativeProcess/start()

at ygz.process::ProcessControl$/executeURL()[E:\project\flex\fireTest\src\ygz\process\ProcessControl.as:20]

at RootMenu/btnHandler()[E:\project\flex\fireTest\src\RootMenu.mxml:49]

这个错误可以在配置文件中添加<supportedProfiles>extendedDesktop</supportedProfiles> 这一行解决掉,但是在发布的时候一定要把这一行删掉,删掉后如果不能发布

那是人品问题。发布后要将air文件转换成exe程序,转换方法如下:

1.先配置系统环境变量path:C:\Program Files\Adobe\Adobe Flash Builder 4\sdks\4.5.1\bin 这样就可以用adt命令(首先确定你的机子上是否安装了jdk)

2.使用命令行找到你air程序存放路径输入以下命令:

adt -package -target native setup.exe 【你自己的air文件名】.air

这样就生成了一个 setup.exe 安装文件

运行 setup.exe就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: