毫不夸张的说,此功能可以将Windows命令行程序(cmd.exe)通过AIR应用封装起来,并指挥它做任何你想做的事情

AIR2.0及以上与本地进程的交互主要体现在以下几方面:

  • 启动进程并提供初始参数

  • 向进程写入数据

  • 读取进程的输出数据

当然,Adobe始终把平台运行时的安全因素放在首位。如果你希望你的AIR应用能有与本地进程交互,需要注意以下限制:

  • 必须通过操作系统的安装工具来部署,不能直接使用AIR包进行安装(AIR是跨平台的文件格式)。

  • 不能启动位于当前AIR应用程序文件夹中的进程。

  • 必须在AIR应用程序描述文件指明supportProfiles为extendedDesktop(或使用AIR命令行工具指明该参数)。

    var nativeProcess:NativeProcess = new NativeProcess();
    var npsi:NativeProcessStartupInfo = new NativeProcessStartupInfo();
    var file:File = File.resolvePath("C:/Program Files/数字白板教案释放工具/zPack.exe");
    npsi.executable = file;//npsi.workingDirectory = File.desktopDirectory;
    var args: Vector.<String> = new Vector.<String>;
    args.push("C:/Users/johun/Desktop/Desktop.zpack");//向zPack.exe应用程序传参
    args.push("E:/");//向zPack.exe应用程序传参
    npsi.arguments= args;
    nativeProcess.start(npsi);
    /*当 autoExit 为 true(默认值)时,如果关闭了所有窗口,则应用程序将终止。调度 exiting 和 exit 事件。如果 autoExit 为 false,则必须调用 NativeApplication.nativeApplication.exit() 才能终止应用程序。*/
    NativeApplication.nativeApplication.autoExit = true;

    注意:在发布时生成的-app.xml中需在<application xmlns="http://ns.adobe.com/air/application/2.6">后面加上<supportedProfiles>extendedDesktop </supportedProfiles>

[AIR] 与本地进程(应用程序)进行通讯的更多相关文章

  1. [AIR] AIR程序调用本地默认应用程序打开本地文件

    摘要:      File类提供了一个方法openWithDefaultApplication可以用本地默认应用程序打开指定路径下的文件. 当我用下面语句的时候,可以成功打开桌面文件夹下面的文件: v ...

  2. iOS 打开本地 其他应用程序(URL Types)

    iOS 打开本地其他应用程序(URL Types) /*前言废话:Xcode是神奇的,是我所见到的编译器中最为神奇的,如:它可以同时运行两个甚至更多Project到我们模拟器上,可以同时使用一个模拟器 ...

  3. 实现chrome扩展启动本地进程 - 补充

    实现chrome扩展启动本地进程 - 补充 标签: chrome扩展启动本地程序访问本地磁盘 2014-10-17 11:42 6753人阅读 评论(17) 收藏 举报  分类: Chrome Plu ...

  4. 一个进程间同步和通讯的 C# 框架

    转自原文 一个进程间同步和通讯的 C# 框架 threadmsg_demo.zip ~ 41KB    下载 threadmsg_src.zip ~ 65KB    下载 0.背景简介 微软在 .NE ...

  5. ZeroMQ接口函数之 :zmq_inproc – ØMQ 本地进程内(线程间)传输方式

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...

  6. 使用回调接口实现ActiveX控件和它的容器程序的通讯

    本文阅读基础:有一定的C++基础知识(了解继承.回调函数),对MFC的消息机制有一定了解,对COM的基础知识有一定了解,对ActiveX控件有一定了解. 一. 前言 ActiveX控件和它的容器程序如 ...

  7. linux系统编程之进程(一):进程与程序

    本节目标: 什么是程序 什么是进程 进程数据结构 进程与程序区别与联系 一,什么是程序? 程序是完成特定任务的一系列指令集合 二,什么是进程? 从用户的角度来看进程是程序的一次动态执行过程 从操作系统 ...

  8. 进程和程序(Process and Program)

    原出处:http://oss.org.cn/kernel-book/ch04/4.1.htm ----------------------------------个人理解分割线------------ ...

  9. NetHogs---按进程或程序实时统计网络带宽使用率。

    NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率. 来自NetHogs项目网站: NetHogs是一个小型的net top工具,不像大多数工 ...

随机推荐

  1. java程序员应该熟悉的20个有用的库(转)

    优秀且经验丰富的Java开发人员的一个特点是API的广泛知识,包括JDK和第三方库.我花了很多时间学习API,特别是在阅读Effective Java 3rd Edition之后,Joshua Blo ...

  2. ARGB_8888

    原文出处:http://www.cnblogs.com/and_he/archive/2012/12/22/argb.html A:透明度 R:红色 G:绿 B:蓝 Bitmap.Config ARG ...

  3. 配置atom需要安装的插件

    本人是一个node后端开发,这里之记录我需要的atom插件,如果需要别的请去别处查找,也省这我自己再去找 1.atom-beautify     代码格式一键美化 2.minimap  代码小地图 3 ...

  4. 虚拟化技术:Xen与KVM的对比

    作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个无与伦比的优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是 ...

  5. 我理解的MVCC内部实现原理

    MySQL InnoDB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lo ...

  6. css中calc()的使用

    calc()是css3中新出现的特性,可以用于动态计算,非常方便. 首先是兼容性 再来看看怎么使用 html{ font-size: 20px; } div{ width: calc(50% - 1p ...

  7. [c++] How many bytes do pointers take up?

    How many bytes do pointers take up? on 16 bit systems take up 2 bytes on 32 bit systems take up 4 by ...

  8. jquery验证简单示例

    来自<jquery 权威指南> 输入某个字符,选择相应的验证类型,并输出验证结果 ----------------------------------- 效果显示: 详细代码: <! ...

  9. js失去焦点触发

    onblur="displayRest($(this))"

  10. 文件上传控件asp:FileUpload

    前端 使用的控件<asp:FileUpload ID="fileup" runat="server" /><span class=" ...