Adobe AIR启动一个exe执行文件的方法
2013-06-17 15:36
585 查看
AIR如何启动一个exe执行文件
多数时候我们可以将拥有良好互动性的flash程序发布为AIR形式,使之脱离web网页作为一个桌面启动程序运行。但是大多数windows程序都是使用.exe文件作为执行文件,因此调用或者启动一个.exe在有些时候非常有必要,AIR2.0给了我们这个可能!
.
AIR2.0的一个新特性:可以启动本地进程并与本地进程进行数据通讯。这个方法主要是NativeProcess。而且还要同时修改AIR 配置文件xml。
.
我们知道AIR正式发布或者使用打包工具可以生成Window系统下的.exe文件,在Mac系统下是.dmg,这样我们的AIR应用就具备了运行一个本地进程并与之交互的能力。要实现这个功能,就需要使用NativeProcess类。
注意:除了使用NativeProcess类外,还需要将我们的AIR项目打包方可,详见下面的步骤。
(需要打包的原因主要是如果不打包,那么而直接在 项目配置文件中更改.xml配置文件会造成我们发布正式的AIR执行程序时报错,我还没有找到解决办法,所以采用了这种 打包的方式,具体情况大家有时间可以自己尝试!!)
.
步骤:http://hi.baidu.com/taotao5453
.
1、在这个教程里,我们使用一个按钮,通过侦听按钮的点击事件来启动一个.exe文件。
按钮可以用as定义也可以是Flex中的mxml标签,这个无所谓,按钮的侦听函数为:
private function gameStartHandle(event:MouseEvent):void
{
var file:File = File.applicationDirectory;//创建File对象
file = file.resolvePath("D:/龙腾天下/play.exe"); //指定.exe文件路径
var nativeProcessStartupInfo:NativeProcessStartupInfo
= new NativeProcessStartupInfo();//AIR2.0的新类, 创建进程信息对象
nativeProcessStartupInfo.executable = file;// 将file指定为可执行文件
var process:NativeProcess = new NativeProcess();// 创建一个本地进程
process.start(nativeProcessStartupInfo);// 运行本地进程
}
.
2、使用调试工具进行调试,而不必发布正式的AIR:
找到项目的调试输出文件夹,复制其中的.swf和.xml配置文件,如果还有其他项目必须的resource文件则一同复制,用来进行AIR打包,
具体打包方法参考:http://hi.baidu.com/taotao5453/blog/item/f22feffe3061b03d5d60084f.html
.
3、在复制出来的.xml配置文件中增加一行<supportedProfiles>extendedDesktop</supportedProfiles>,增加在如下位置即可:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application xmlns="http://ns.adobe.com/air/application/2.0beta2">
<supportedProfiles>extendedDesktop</supportedProfiles>
。。。
.
4、运行AIR打包文件中的.bat文件后执行我们的AIR程序,点击我们设置的按钮,就会启动我们指定的.exe文件!!OK
-
5、向exe传参数的话,参考这一篇教程:http://flash.9ria.com/thread-41604-1-1.html
期望此教程对大家有所帮助!http://hi.baidu.com/taotao5453
多数时候我们可以将拥有良好互动性的flash程序发布为AIR形式,使之脱离web网页作为一个桌面启动程序运行。但是大多数windows程序都是使用.exe文件作为执行文件,因此调用或者启动一个.exe在有些时候非常有必要,AIR2.0给了我们这个可能!
.
AIR2.0的一个新特性:可以启动本地进程并与本地进程进行数据通讯。这个方法主要是NativeProcess。而且还要同时修改AIR 配置文件xml。
.
我们知道AIR正式发布或者使用打包工具可以生成Window系统下的.exe文件,在Mac系统下是.dmg,这样我们的AIR应用就具备了运行一个本地进程并与之交互的能力。要实现这个功能,就需要使用NativeProcess类。
注意:除了使用NativeProcess类外,还需要将我们的AIR项目打包方可,详见下面的步骤。
(需要打包的原因主要是如果不打包,那么而直接在 项目配置文件中更改.xml配置文件会造成我们发布正式的AIR执行程序时报错,我还没有找到解决办法,所以采用了这种 打包的方式,具体情况大家有时间可以自己尝试!!)
.
步骤:http://hi.baidu.com/taotao5453
.
1、在这个教程里,我们使用一个按钮,通过侦听按钮的点击事件来启动一个.exe文件。
按钮可以用as定义也可以是Flex中的mxml标签,这个无所谓,按钮的侦听函数为:
private function gameStartHandle(event:MouseEvent):void
{
var file:File = File.applicationDirectory;//创建File对象
file = file.resolvePath("D:/龙腾天下/play.exe"); //指定.exe文件路径
var nativeProcessStartupInfo:NativeProcessStartupInfo
= new NativeProcessStartupInfo();//AIR2.0的新类, 创建进程信息对象
nativeProcessStartupInfo.executable = file;// 将file指定为可执行文件
var process:NativeProcess = new NativeProcess();// 创建一个本地进程
process.start(nativeProcessStartupInfo);// 运行本地进程
}
.
2、使用调试工具进行调试,而不必发布正式的AIR:
找到项目的调试输出文件夹,复制其中的.swf和.xml配置文件,如果还有其他项目必须的resource文件则一同复制,用来进行AIR打包,
具体打包方法参考:http://hi.baidu.com/taotao5453/blog/item/f22feffe3061b03d5d60084f.html
.
3、在复制出来的.xml配置文件中增加一行<supportedProfiles>extendedDesktop</supportedProfiles>,增加在如下位置即可:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application xmlns="http://ns.adobe.com/air/application/2.0beta2">
<supportedProfiles>extendedDesktop</supportedProfiles>
。。。
.
4、运行AIR打包文件中的.bat文件后执行我们的AIR程序,点击我们设置的按钮,就会启动我们指定的.exe文件!!OK
-
5、向exe传参数的话,参考这一篇教程:http://flash.9ria.com/thread-41604-1-1.html
期望此教程对大家有所帮助!http://hi.baidu.com/taotao5453
相关文章推荐
- windows下C++调用shell启动和关闭可执行文件exe的最简单方法
- java之如何实现调用启动一个可执行文件,exe
- flash 调用启动一个.exe文件并向其传递参数的方法
- C++启动可执行文件(.exe)的方法CreateProcess
- BAT启动执行JAVA JAR文件中的MAIN方法的两种方式
- 【MPICH2】启动MPIEXEC之后执行exe文件出错
- vs2008修改执行文件(.exe)的图标的方法
- 实现一个可以加载资源中隐藏的.exe可执行文件的程序
- Tomcat启动完成后再执行一个指定的方法 - 不影响Tomcat的启动时间
- Windows系统无法打开.exe可执行文件的4种解决方法
- 如何在MFC中启动其它的(.exe)可执行文件
- android getView方法不执行的一个原因是布局文件中没有给列表显示的位置
- MATLAB .M文件编译成.EXE并在无MATLAB的电脑上运行的一个方法
- 利用certutil.exe实现在批处理(bat)中嵌入可执行文件或者各种媒体、图片之类二进制文件的简单方法!
- Apache POI API操作Microsoft Office格式文件的方法+JAVA调用exe可执行文件
- 第七周 linux如何装载和启动一个可执行文件
- web前端页面生成exe可执行文件的方法
- 将JAVA打包成EXE可执行文件的方法
- 有谁能讲讲 一个EXE 文件是怎样被WINDOWS 给执行的,比如它是怎么被加载的,是怎么被装入内存的,CPU是怎么处理的。
- greenplum集群发生了某个节点报“could not open relation 1663/16384/32749972: 无此文件或目录”后再无法启动后的一个解决方法-唐成