air调用本地应用程序
AIR
天行剑发布工具
基础
- AS项目AIR的窗口默认不显示,需要手动调用。调用方法this.stage.nativeWindow().active().
应用程序的调用
相关的类
NativeProcessStartupInfo
NativeProcess
调用实例
var nps:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nps.excutable = new File();//要被调用的应许程序的File对象
var args :Vector.<String> = new Vector.<String>();
args[0] = “参数1”;
args[1] = “参数2”;
np.arguments = args;
var np:NativeProcess = new NativeProcess();
np.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA,__standardOutPutData); np.addEventListener(ProgressEvent.STANDARD_ERROR_DATA,__standErrorData);
np.start(nps);
//启动后还要把参数手写进去
np.standarInput. writeMultiByte (args[0] + “\n”,”gb2312”);
np.standarInput. writeMultiByte (args[1] + “\n”,”gb2312”);
private function __standardOutPutData(e:ProgressEvent):void
{
var process:NativeProcess = (e.target as NativeProcess);
var content:String;
= process.standardOutput.readMultiByte(process.standardOutput.bytesAvailable,"gb2312");
}
说明
记事本可以直接打开,但命令行窗口不能打开界面,可是进程里却有这个进程。因此上面的例子是模拟命令行窗口的显示,如果是记事本应用程序,则红色部分可以忽略。
当手动定参数给被调用的程序时,除了赋值pi的arguments属性外,还要在start()方法后,用输入流写一次。