air调用本地应用程序

AIR

天行剑发布工具

基础

  1. 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()方法后,用输入流写一次。

posted on 2013-02-26 11:20  devil?  阅读(350)  评论(0编辑  收藏  举报

导航