Tools
分类目录
文章归档
标签
   

NativeProcess

NativeProcess 类提供命令行集成和常规启动功能。NativeProcess 类允许 AIR 应用程序在主机操作系统上执行本机进程。AIR 应用程序可以监视进程的标准输入 (stdin) 和标准输出 (stdout) 流以及进程的标准错误 (stderr) 流。

直接上代码(这里用adobe的ATF导出工具作为例子)

  1. var workingDirectory:File = File.applicationDirectory;//根据需求自己改
  2. var executable:File = File.applicationDirectory.resolvePath("png2atf");//根据需求自己改
  3. var params:Vector.<String> = new Vector.<String>();
  4. params.push("-c");
  5. params.push("-i");
  6. params.push("test.png");
  7. params.push("-o");
  8. params.push("test.atf");
  9.  
  10. var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();
  11. info.workingDirectory = workingDirectory;
  12. info.arguments = params;
  13. info.executable = executable;
  14.  
  15. var nativeProcess:NativeProcess = new NativeProcess();
  16. nativeProcess.addEventListener(NativeProcessExitEvent.EXIT,onExit);
  17. nativeProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA,onData);
  18. nativeProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA,onError);
  19. nativeProcess.start(info);
  20.  
  21. function onExit(e:NativeProcessExitEvent):void{
  22.  trace("exit");
  23. }
  24.  
  25. function onData(e :P rogressEvent):void{
  26.  trace(nativeProcess.standardOutput.readUTFBytes(nativeProcess.standardOutput.bytesAvailable));
  27. }
  28.  
  29. function onError(e :P rogressEvent):void{
  30.  trace(nativeProcess.standardError.readUTFBytes(nativeProcess.standardError.bytesAvailable));
  31. }

注意事项

该类只能在AIR中使用,player中无法使用,应用程序配置文件需要配置:

  1. <application xmlns="http://ns.adobe.com/air/application/3.8">
  2.     …其他配置…
  3.     <supportedProfiles>extendedDesktop</supportedProfiles>
  4. </application>

导出注意事项

只能导出为本机安装程序或具有运行时绑定的应用程序,否则NativeProcess将会报错,错误信息为:

Error: Error #3219: The NativeProcess could not be started. 'Not supported in current profile.'


 

No Comment

Post A Comment