Adobe AIR执行程序

Man*_*era 32 apache-flex air flash command

我想按下Adobe AIR应用程序中的按钮并执行一些已安装的程序.例如,我会有一个名为"Start Winamp"的按钮.当它被按下它应该直接启动Winamp.exe ...我不希望执行一些命令行的事情,我只想要一个exe启动.或者......是一回事吗?如果可能,请告诉我.

谢谢.

JD *_*cks 65

使用AIR 2.0,您现在可以:

if(NativeProcess.isSupported)
{
    var file:File = File.desktopDirectory;
    file = file.resolvePath("StyleLookupold.exe");

    var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
    nativeProcessStartupInfo.executable = file;
    var process:NativeProcess = new NativeProcess();

    process.start(nativeProcessStartupInfo);

}
Run Code Online (Sandbox Code Playgroud)

您还需要将其添加到描述符文件中.

<supportedProfiles>extendedDesktop</supportedProfiles> 
Run Code Online (Sandbox Code Playgroud)

  • @Lucas很好的问题,在Flash CS5中你会想要去`File> Adob​​e Air 2 Settings`会有一个名为**Profiles:**的部分带有4个复选框.确保*Extended Desktop*是唯一选中的. (3认同)

dir*_*tly 11

没有直接的方法.尝试CommandProxy.

仔细阅读博客文章.您确实需要创建两个不同的项目:本机OS可执行文件和AIR应用程序.本机可执行文件会激活AIR应用程序.AIR应用程序反过来请求可执行文件处理操作系统级别的请求.

Google Code下载源代码并为AIR应用程序创建两个项目 - 用于示例C#exe的Visual Studio/Mono和另一个项目.是一个描述如何设置前者的链接.

在AIR应用程序的主MXML文件中,您需要执行以下操作:

  • 创建一个CommandProxy对象,添加一些事件侦听器,用于连接检测以及Command响应和错误.

  • 通过connect呼叫连接到本机exe

  • 在事件处理程序中connect,创建一个新的Command例子ScreenshotCommand并执行它(通过CommandProxy.execute方法)

......就是这样!

希望这可以帮助.