我需要使用NativeProcess进行一些非常简单的操作,我需要通过cmd行启动一个.exe文件并将其传递给一个参数。我发现了NativeProcess示例,但它们都是用于更复杂的事情,并没有显示完整的实现。我在flash as3方面有很多经验,但在这个特定领域没有......如果有人能告诉我这是从开始到结束如何实现的,我将不胜感激。如何在Air应用程序中实现NativeProcess
0
A
回答
2
下面是代码从Adobe网站对究竟在做什么你问:
package
{
public class Main extends Sprite
{
public var process:NativeProcess;
public function Main()
{
if(NativeProcess.isSupported)
setupAndLaunch();
else
trace("NativeProcess not supported.");
}
public function setupAndLaunch():void
{
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("yourapp.exe");
nativeProcessStartupInfo.executable = file;
var processArgs:Vector.<String> = new Vector.<String>();
processArgs[0] = "the parameter you are passing";
nativeProcessStartupInfo.arguments = processArgs;
process = new NativeProcess();
process.start(nativeProcessStartupInfo);
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData);
process.addEventListener(NativeProcessExitEvent.EXIT, onExit);
process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError);
process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError);
}
public function onOutputData(event:ProgressEvent):void
{
trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable));
}
public function onErrorData(event:ProgressEvent):void
{
trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable));
}
public function onExit(event:NativeProcessExitEvent):void
{
trace("Process exited with ", event.exitCode);
}
public function onIOError(event:IOErrorEvent):void
{
trace(event.toString());
}
}
}
和重要信息The NativeProcess class and its capabilities are only available to AIR applications installed with a native installer (extended desktop profile applications). When debugging, you can pass the -profile extendedDesktop argument to ADL to enable the NativeProcess functionality. At runtime, you can check the NativeProcess.isSupported property to to determine whether native process communication is supported.
我测试在Flash上面通过设置应用程序配置文件制定到Extended Desktop
和它的工作原理。
更多信息here。
相关问题
- 1. 如何在Adobe AIR桌面应用程序中重新启动NativeProcess?
- 2. 如何在Linux中的Adobe AIR的NativeProcess
- 3. AIR NativeProcess API
- 4. Air NativeProcess java
- 5. Flex - Air“nativeprocess not supported”
- 6. 错误#3219 AIR中的NativeProcess
- 7. 在Air 2.0应用程序中启动Air 2.0应用程序
- 8. 如何在Java中使用AIR 2.0 NativeProcess API?
- 9. AIR - 使用Sytem Profiler的NativeProcess在Mac上
- 10. 调试使用NativeProcess API调用可执行文件的Adobe AIR应用程序
- 11. Adobe Air NativeProcess与C++ Windows(非控制台)应用程序通信
- 12. AIR应用程序
- 13. 我们是否可以通过AIR应用程序实现SSO
- 14. AuthenticationManager实现如何在SpringBoot应用程序中实例化
- 15. 如何停止AIR应用程序?
- 16. 如何部署Adobe AIR应用程序
- 17. 如何实现应用程序协议
- 18. 如何实现SQLite到应用程序?
- 19. 如何实现应用程序更新?
- 20. 如何实现提醒应用程序?
- 21. 装载并运行现有AIR的AIR应用程序swf
- 22. 在AIR应用程序中执行POST
- 23. 在iphone应用程序中实现应用程序细化
- 24. 在Java应用程序中实现Growl
- 25. 在Android应用程序中实现Leadbolt
- 26. 在ASP.Net应用程序中实现HPKP
- 27. 在应用程序中实现聊天?
- 28. 如何在android中使用senchatouch实现phonegap应用程序2
- 29. 如何使用MVC在iOS应用程序中实现设置
- 30. 如何在iOS中使用Braintree实现支付应用程序
http://gotoandlearn.com/play.php?id=125 - 这是一个很好的起点。 – Tox 2015-05-18 16:45:37