3 votes

Comment exécuter des commandes CMD dans Flex en utilisant Actionscript ?

Je voudrais exécuter une commande CMD à partir de mon application Flex de manière programmatique. Quelque chose comme

> mediaplayer.exe "mySong.mp3"

J'ai également essayé d'utiliser fscommand mais sans succès. En cherchant sur Google, j'ai appris qu'elle n'était pas prise en charge par AIR. J'aimerais savoir s'il existe une autre alternative pour exécuter les commandes. Merci...

7voto

JD Isaacks Points 14540

Vous devez utiliser NativeProcess qui n'est disponible que dans AIR 2.0+.

Cela devrait faire l'affaire :

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);

}

Assurez-vous également que votre fichier app.xml contient ceci :

<supportedProfiles>extendedDesktop</supportedProfiles>

2voto

alxx Points 9064

Il est pris en charge par AIR 2.0, voir http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html

En outre, vous devez déployer votre application non pas en tant que fichier .air, mais en tant qu'installateur natif pour que NativeProcess fonctionne (avec l'outil de console adt du SDK AIR). Il y a plusieurs problèmes en cours de route, mais c'est possible. En développement, vous pouvez tester NativeProcess facilement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X