Adobe AIR pour exécuter le programme
Je tiens à appuyer sur un bouton à partir d'une application Adobe AIR et d'exécuter un programme installé. Par exemple, je voudrais avoir un bouton nommé "Start Winamp". Quand il est pressé, il devrait commencer à Winamp.exe directement...je ne veux pas de ligne de commande chose exécutée, je veux seulement un exe pour démarrer. Ou...est-ce la même chose ? S'il vous plaît, laissez-moi savoir si cela est possible.
Merci.
- Aucune infraction, mais il a été demandé.
- dorfier, Où? Je pense que c'est le premier à poser cette question.
- Souhaitez-vous envisager la révision de l'acceptés question maintenant que NativeProcess existe?
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de moyen direct de le faire. Essayez CommandProxy.
Lire le billet de blog très soigneusement. Vous avez vraiment besoin de créer deux projets différents: un système d'exploitation natif exécutable et une application AIR. Le fichier exécutable natif des incendies de votre application AIR. L'application AIR à son tour les demandes de l'exécutable pour traiter les OS au niveau des demandes.
Télécharger la source de Google Code et de créer deux projets, un Visual Studio/Mono pour l'échantillon C# exe et l'autre-pour l'application AIR. Ici est un lien qui explique comment configurer l'ancien.
Dans votre application AIR du fichier MXML principal, vous devez effectuer les opérations suivantes:
Créer un
CommandProxy
objet, ajoutez un peu d'écouteurs d'événement, pour la détection de connexions, etCommand
réponse et l'erreur.Se connecter à la maternelle exe via un
connect
appelDans le gestionnaire d'événement pour
connect
, créer un nouveauCommand
par exempleScreenshotCommand
et de l'exécuter (viaCommandProxy.execute
méthode)... et c'est tout!
Espère que cette aide.
Avec AIR 2.0 maintenant, vous pouvez:
Vous devez également ajouter ceci à votre fichier descripteur.
File>Adobe Air 2 Settings
Il y aura une section appelée Profils: avec 4 cases. Assurez-vous que Bureau Étendu est le seul vérifié.La réponse est en deux parties. L'un, si vraiment vous DEVEZ exécuter une .exe fichier, la seule façon de procéder est d'utiliser la commande proxy. Personnellement, à l'aide de l'une dans .Net/Mono est un peu exagéré. Je ne sais pas Mono, mais de demander à vos utilisateurs à installer .Net et de l'AIR d'effrayer juste au sujet de toutes. De Plus, si j'allais demander à l'utilisateur d'installer Mono, pourquoi ne pas simplement écrire l'INTERFACE utilisateur dans le Mono et être fait avec elle...?
Vous pourriez écrire une commande simple proxy en Ruby qui serait vraiment de la croix-plate-forme et de faible tracas dans les 5 minutes (je l'ai fait, si vous voulez le code commentaire moi ici, et je vais le poster). Si vous souhaitez contrôler le processus une fois qu'il est lancé, c'est plus sérieux effort. Pour la distribution, etc., Je crois que Ruby serait plus facile.
D'autre part, cochez cette idée. Jeff suggère d'utiliser une URL de requête à partir de l'AIR. En fait, si votre navigateur ne les interpréter correctement, vous êtes prêt à aller. Le code ressemble à ceci
Je pense qu'avec un peu de créativité (avec des types Mime, en particulier), cette deuxième solution peut même travailler pour Winamp (e.g.., une liste de lecture ou de quelque chose).
Bonne chance et merci pour la question, ce qui est probablement une dupe, mais Google ne trouve de ce si vous avez gagné 🙂
Je pense que FluorineFx fait ce que vous voulez: http://aperture.fluorinefx.com/?p=5
AIR 2.0 ont cette capacité.
Il est prévu de sortir en version bêta d'ici la fin de l'année (2009) et le premier navire de la moitié de l'année 2010.
http://blogs.adobe.com/air/2009/10/previewing_adobe_air_2_at_adob.html
Native API de processus
Début avec AIR 2, les développeurs auront accès à un processus natif API qui va permettre aux applications d'invoquer et de communiquer avec des applications natives sur la machine locale. Afin de préserver la croix-plate-forme de la nature de l' .format de fichier air, des applications qui tirent parti de l'API de processus natif doit être déployé en tant que natif des installateurs comme .exe et .dmg. L'AIR runtime SDK comprend le support pour la génération de base de programme d'installation natif.
Voir ce blog: Exécuter un fichier exe à partir de l'AIR
Résumé court:
Droit maintenant, il n'y a aucun moyen de le faire nativement avec de l'AIR. Il y a quelques options, mais:
Une autre façon de le faire est de lancer simple serveur web sur l'ordinateur local (dans le fond), et appel de méthodes à l'aide de HTTPService.
Le serveur d'arrière-plan peut être par exemple en python:
http://fragments.turtlemeat.com/pythonwebserver.php
Et elle peut lancer des fichiers exécutables et de fournir des fonctionnalités que de l'AIR ne peut pas.
Cela permet de maintenir Flex code propre, parce qu'il n'implémente l'interface REST et python (ou autre langue) le reste du travail. Vous pouvez également bénéficier de l'utilisation de python comme une interface de base de données sqlite ou vous pouvez lancer tout de django comme un serveur web.
Le seul inconvénient est que le serveur doit déjà être en cours d'exécution sur localhost .. et écouter du port (ie. 81). vous pouvez probablement le faire en lançant le serveur au démarrage du système.
Ce n'est pas la meilleure façon mais dans certains cas, il peut aider votre projet comme il l'a fait pour moi.
dans mac os x, si vous souhaitez lancer une .app fichier, alors vous devez écrire la suite pour le chemin d'accès au fichier. (À supposer que le nom de l'application est xxx)
Ou simple mon site créer installation personnalisée à la nouvelle application en savoir plus
http://board.flashkit.com/board/showthread.php?834579-Embed-exe-file-from-swf-to-write-to-local-directory
Conseil Bonus:
Nous vous recommandons d'utiliser Enigma Virtual Box parce qu'il est libre et il est très bon pour la Virtualisation d'Applications ou Exe-Packer comme BoxedApp Packer, mais il en coûte beaucoup de Enigma Virtual Box Merci!