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就可以了。
主要代码:
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就可以了。
相关文章推荐
- Matlab程序调用外部exe(可执行文件)方法及参数传递
- Windows下外部程序调用Informatica Workflow的方法
- VC中调用外部EXE程序方法(转)
- windows下Qt 调用外部exe的方法
- 开发板环境下在Android应用程序中调用需要root权限的脚本命令的一种方法
- 使用java传参调用exe并且获取程序进度和返回结果的一种方法
- Qt应用程序打包成windows下的.exe程序的方法
- AIR 调用外部exe和bat文件的方法
- asp.net中执行exe应用程序2008-07-03 15:53在asp.net中执行应用程序有两种方法:1、调用win32函数ShellExecute。2、用.NET Framework中的Process类。下面我分别用这两种方法执行Windows中的
- java 外部调用c程序(后缀为.exe--是可以运行的程序--不是本地方法的实现)
- Unity C#调用外部exe程序的方法
- 使用java传参调用exe并且获取程序进度和返回结果的一种方法
- VC中调用外部EXE程序方法(转)
- VC中调用外部EXE程序方法(转)
- windows下调用外部exe程序 SHELLEXECUTEINFO
- 使用Qprocess的startDetached()方法调用外部exe程序
- windows下调用外部exe程序 SHELLEXECUTEINFO
- VC中调用外部EXE程序方法
- C/C++项目调用外部exe程序方法
- Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)