32 votes

Adobe AIR pour exécuter le programme

Je voudrais appuyer sur un bouton à partir d'une application Adobe AIR et exécuter un programme installé. Par exemple, j'aurais un bouton nommé "Start Winamp". Lorsque l'on appuie sur ce bouton, Winamp.exe devrait démarrer directement... Je ne veux pas qu'une ligne de commande soit exécutée, je veux seulement qu'un exe démarre. Ou... est-ce la même chose ? S'il vous plaît, faites-moi savoir si c'est possible.

Merci.

1voto

Assaf Lavie Points 20181

Voir cet article de blog : Exécuter un fichier exe à partir d'AIR

Résumé succinct :

"Si vous avez vraiment besoin d'exécuter des fichiers externes externes, et qu'il n'y a pas d'autre moyen de résoudre de résoudre votre problème, alors vous vous assurer que l'utilisateur exécute cet autre logiciel avant de lancer l'application application AIR".

1voto

Rhys Causey Points 469

À l'heure actuelle, il n'existe aucun moyen de le faire en mode natif avec AIR. Il existe cependant quelques options :

  • Shu
  • Rouge5 fonctionnant sur localhost
  • Créer un service qui s'exécute sur la machine de l'utilisateur et s'y connecter en utilisant prises de courant .

1voto

Redliner Points 41

Une autre façon de procéder est de lancer un simple serveur web sur la machine locale (en arrière-plan), et d'appeler ses méthodes en utilisant HTTPService.

Le serveur web en arrière-plan pourrait être par exemple en python : http://fragments.turtlemeat.com/pythonwebserver.php

Et il peut lancer des exécutables et fournir des fonctionnalités que AIR ne peut pas offrir.

Le code Flex reste ainsi propre, car il ne met en œuvre que l'interface REST et python (ou un autre langage) se charge du reste du travail. Vous pouvez également tirer parti de l'utilisation de python comme interface avec la base de données sqlite ou lancer l'ensemble de django comme serveur Web.

Le seul inconvénient est que le serveur doit déjà fonctionner sur localhost et écouter un port (par exemple 81). Vous pouvez probablement le faire en lançant le serveur au démarrage du système.

Ce n'est pas le meilleur moyen, mais dans certains cas, cela peut aider votre projet, comme cela a été le cas pour moi.

0voto

umut demirel Points 1

Sous mac os x, si vous voulez lancer un fichier .app, vous devez écrire ce qui suit pour le chemin du fichier. (Supposons que le nom de l'application soit xxx)

if(NativeProcess.isSupported)
{
    //not correct
    //file = file.resolvePath("/Applications/xxx.app");

    //correct
    file = file.resolvePath("/Applications/xxx.app/Contents/MacOS/xxx");

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

    process.start(nativeProcessStartupInfo);

}

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