我想按下Adobe AIR应用程序中的按钮并执行一些已安装的程序.例如,我会有一个名为"Start Winamp"的按钮.当它被按下它应该直接启动Winamp.exe ...我不希望执行一些命令行的事情,我只想要一个exe启动.或者......是一回事吗?如果可能,请告诉我.
谢谢.
使用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); }
您还需要将其添加到描述符文件中.
extendedDesktop
没有直接的方法.尝试CommandProxy.
仔细阅读博客文章.您确实需要创建两个不同的项目:本机OS可执行文件和AIR应用程序.本机可执行文件会激活AIR应用程序.AIR应用程序反过来请求可执行文件处理操作系统级别的请求.
从Google Code下载源代码并为AIR应用程序创建两个项目 - 用于示例C#exe的Visual Studio/Mono和另一个项目.这是一个描述如何设置前者的链接.
在AIR应用程序的主MXML文件中,您需要执行以下操作:
创建一个CommandProxy
对象,添加一些事件侦听器,用于连接检测以及Command
响应和错误.
通过connect
呼叫连接到本机exe
在事件处理程序中connect
,创建一个新的Command
例子ScreenshotCommand
并执行它(通过CommandProxy.execute
方法)
......就是这样!
希望这可以帮助.