Как выполнить команды CMD во Flex с использованием ActionScript? - PullRequest
3 голосов
/ 19 августа 2010

Я хотел бы выполнить команду CMD из своего приложения Flex программным способом. Что-то вроде

> mediaplayer.exe "mySong.mp3"

Я также пытался использовать fscommand, но безуспешно. Во время поиска в Google я узнал, что его не поддерживает AIR. Я хотел бы знать, есть ли другая альтернатива для выполнения команд. Спасибо ...

Ответы [ 2 ]

7 голосов
/ 19 августа 2010

Вам нужно использовать 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>
2 голосов
/ 19 августа 2010

Поддерживается AIR 2.0, см. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html

Кроме того, вы должны развернуть свое приложение не как файл .air, а как собственный установщик, чтобы NativeProcess работал (с помощью инструмента adt console из AIR SDK). На пути есть несколько ошибок, но это можно сделать. В процессе разработки вы можете легко протестировать NativeProcess.

...