我想以编程方式从我的flex应用程序执行CMD命令。类似于如何使用actionscript在flex中执行CMD命令?
> mediaplayer.exe "mySong.mp3"
我也尝试过使用fscommand,但没有成功。虽然谷歌搜索,我了解到,它不支持的AIR。我想知道是否有任何其他执行命令的选项。谢谢...
我想以编程方式从我的flex应用程序执行CMD命令。类似于如何使用actionscript在flex中执行CMD命令?
> mediaplayer.exe "mySong.mp3"
我也尝试过使用fscommand,但没有成功。虽然谷歌搜索,我了解到,它不支持的AIR。我想知道是否有任何其他执行命令的选项。谢谢...
您需要使用NativeProcess
这是只有在AIR 2.0+
可用这应该做的伎俩:
if(NativeProcess.isSupported)
{
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var mp:File = new File();
mp = mp.resolvePath('native\path\to\mediaplayer.exe');
nativeProcessStartupInfo.executable = mp;
var args:Vector.<String> = new Vector.<String>();
args.push('mySong.mp3');
nativeProcessStartupInfo.arguments = args;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);
}
另外,还要确保您的app.xml文件包含此:
<supportedProfiles>extendedDesktop</supportedProfiles>
它由AIR 2.0的支持,看到 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html
而且,你不应该部署您的应用程序作为.air文件,但为了的NativeProcess本机安装工作(与ADT来自AIR SDK的控制台工具)。途中有几个问题,但可以完成。 在开发中,您可以轻松测试NativeProcess。
这是一个将.air文件转换为本机安装程序的应用程序:http://www.webkitchen.be/package-assistant-pro/ – 2010-08-20 13:18:34
感谢Alxx和John。这两个答案实际上帮助了我。但我只能接受一个。 :( @John:只有当'extendedDesktop'独立于节点时,该应用才能正常工作。与'desktop'一起给出的是抛出'当前配置文件错误中不支持'。 – Goje87 2010-08-20 09:32:32
@ Goje87感谢您的反馈,我更新了我的回答以反映这一点。 – 2010-08-20 13:16:34
是否有可能在Flex应用程序中捕获命令行窗口的响应。 – 2015-06-09 02:02:23