[AIR] 与本地进程(应用程序)进行通讯

毫不夸张的说,此功能可以将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>

时间: 2024-11-29 11:08:01

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

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

实现chrome扩展启动本地进程 - 补充 标签: chrome扩展启动本地程序访问本地磁盘 2014-10-17 11:42 6753人阅读 评论(17) 收藏 举报  分类: Chrome Plugin 版权声明:本文为博主原创文章,未经博主允许不得转载. 示例 主要包含如下部分 com.google.chrome.demo-win.json native_cmd.bat manifest.json popup.html popup.js 功能简介: 实现一个扩展,用户点击一个按钮后会启动本

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

转自原文 一个进程间同步和通讯的 C# 框架 threadmsg_demo.zip ~ 41KB    下载 threadmsg_src.zip ~ 65KB    下载 0.背景简介 微软在 .NET 框架中提供了多种实用的线程同步手段,其中包括 monitor 类及 reader-writer锁.但跨进程的同步方法还是非常欠缺.另外,目前也没有方便的线程间及进程间传递消息的方法.例如C/S和SOA,又或者生产者/消费者模式中就常常需要传递消息.为此我编写了一个独立完整的框架,实现了跨线程和跨

跟后台打印程序系统服务通讯时出现错误。请打开服务管理单元,确认后台打印程序服务是否在运行。

一: 问题描述: [错误] 事件类型:警告事件来源:TermServDevices事件种类:无事件ID:1114日期:2013-10-16事件:0:06:41用户:N/A计算机:VPS描述:    跟后台打印程序系统服务通讯时出现错误.请打开服务管理单元,确认后台打印程序服务是否在运行.    有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心.数据: 二:问题原图: 三:解决方法: [解决方法一]    出现这个错误,一

使用JVM管理工具jvisualvm,系统提示&quot;无法检测到本地java应用程序&quot;的原因和解决办法

我使用的JDK版本是1.6.0_37版本,操作系统是windows xp,今天想使用下%JAVA_HOME%/bin/目录下的一些管理工具,结果遇到麻烦了.使用JPS命令,无法列出本地运行的java虚拟机:使用jvisualvm,提示"无法检测到本地java应用程序". 这个问题的原因可以看下:http://docs.oracle.com/javase/1.5.0/docs/guide/management/faq.html#win1 大概原因有2种: 1.操作系统的临时文件目录所在的

iOS之程序间通讯

程序间通讯 1 设置程序标识,名字自己起, 2 在想要跳转的地儿 加入这行代码就可以 UIApplication sharedApplication] openURL:[NSURL URLWithString:@"ProductTwo:"]]; 例如:one工程程序中:(调用openURL) // // ViewController.m // 程序间通讯OneProduct // // Created by dllo on 16/3/24. // Copyright © 2016年 H

操作系统--进程、程序和作业的区别

程序与进程之间的区别: (1)进程更能真实地描述并发,而程序不能. (2)进程由程序和数据两部分组成,进程是竞争计算机系统有限资源的基本单位,也是进程处理机调度的基本单位. (3)程序是静态的概念:进程是程序在处理机上一次执行的过程,是动态的概念. (4)进程有生存周期,有诞生有消亡.是短暂的:而程序是相对长久的. (5)一个程序可以作为多个进程的运行程序:一个进程也可以运行多个程序. (6)进程具有创建其他进程的功能:而程序没有. 作业与进程的区别: 一个进程是一个程序对某个数据集的执行过程,

PowerShell管理本地进程

进程管理 获取本地进程 停止本地进程 Stop-Process:停止进程 -name:指定进程名称,支持通配符 -id:通过进程ID指定一个或者多个进程 -comfirm:体术用户输出确认信息 Get-Process:获取进程信息 -name:指定进程名称,支持通配符 -id:通过进程ID指定一个或者多个进程 获取前十个进程信息 根据Name来获取进程信息,注意也可以用ProcessName检索 也可以用通配符来检索 查看进程的详细信息 上图的信息中PagedMemorySize为进程的内存使用

线程、进程和程序的简单比较【转】

本文转载自:https://www.ezloo.com/2007/10/thread_process_program.html 我对于线程,进程的概念一直都是比较模糊,最近整理了一下.总结起来就是,线程是进程的一部分,进程是程序的一部分. 线程的引入:例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费较大的系统开销和占用较多的资源.除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是

初次理解进程和程序

通过学习<深入理解计算机系统>后自己理解的进程和程序. 专业一点就是:1.程序的一个执行实例. 2.能分配处理器并由处理器执行的实体. 3.担当分配系统资源(CPU时间,内存)的实体. 通俗的来说  :1.进程就是正在执行的程序. 2.进程是动态的,程序是静态的.(也是实质的区别) 下来说下一个进程的过程(内存方面).