Je cherche l'equivalent de fscommand("exec","monappli.exe") en AIR...Et je commence a me demander si c'est possible a faire. Ca me semblerait illogique que le projecteur Flash soit doté de fonctionnalité inaccessible avec AIR, mais en attendant je ne trouve rien
Est il possible de lancer une appli externe ?
#1
Posté 12 November 2007 - 05:01 PM
Je cherche l'equivalent de fscommand("exec","monappli.exe") en AIR...Et je commence a me demander si c'est possible a faire. Ca me semblerait illogique que le projecteur Flash soit doté de fonctionnalité inaccessible avec AIR, mais en attendant je ne trouve rien
------------------------------------------------
Mon blog : http://www.machinbidules.com
#3
Posté 16 November 2007 - 09:35 AM
http://labs.adobe.co...applications.3F
No. This functionality will not be available in Adobe AIR 1.0.
Une discussion la dessus :
http://www.adobe.com...hread=y#4703949
www.tonic-web.com
#4
Posté 17 November 2007 - 08:22 AM
sinon sur mac j'avais trouvé une parade avec Applescript
1•créer une répertoire vide sur lequel on met une action de dossier qui lance un shell quand un fichier est rajouté dans ce dossier
le script applescript :
on adding folder items to this_folder after receiving added_items
try
--tell application "Terminal" to do script "open /Applications/Mail.app/"
do shell script "screencapture -m -x ~/Desktop/capture.jpg"
end try
end adding folder items to
2•il suffit d'utiliser la classe File pour créer un document quelconque dans le dossier pour ainsi lancer l'application
dans mon exemple je lance une copie décran
mais j'aurai pu klancer une application comme ceci :
on adding folder items to this_folder after receiving added_items
try
--tell application "Terminal" to do script "open /Applications/Mail.app/"
do shell script "open /capture.app/"
end try
end adding folder items to
#5
Posté 17 November 2007 - 06:05 PM
nivek2 > quelle appli ? ou ?
Tonik > j'etais tombé sur cette discution, mais je n'arrivais pas a y croire
JP > malheureusement, je suis sur PC
Mais je viens de penser à un autre moyen de feinter
Etant donné qu'il existe une classe AIR permettant de parametrer l'application afin de pouvoir l'appeler en ligne de commande, et que le projecteur flash dispose du fscommand, on devrait pouvoir se servir d'une appli AIR comme d'un composant au sein d'un projecteur Flash
Ce message a été modifié par tlecoz : 17 November 2007 - 06:09 PM
------------------------------------------------
Mon blog : http://www.machinbidules.com
#8
Posté 18 November 2007 - 04:36 PM
Si JP, fscommand marche tres bien en AS3, il suffit de compiler le flash sous la forme d'un projecteur autonome (.exe sous win, je ne connais pas l'extension sous MAC).
Voila ce que dit l'aide de Flash CS3 :
J'ai testé , ca marche !
Ce message a été modifié par tlecoz : 18 November 2007 - 04:40 PM
------------------------------------------------
Mon blog : http://www.machinbidules.com
#10
Posté 21 November 2007 - 07:05 PM
Pour les curieux anglophones allez regarder la vidéo : http://www.technolog...ting/index.html
A la minute 94 :
"Should we show the dotnet ???"
Dans l'exemple il prend un screenshot depuis air qu'il envoi à Photoshop.
Pour l'info j'avais demandé à mike après coup si ça marchait sur Mac... il m'a répondu que oui.
#12
Posté 22 November 2007 - 09:06 AM
#14
Posté 24 November 2007 - 08:52 PM
#15
Posté 25 November 2007 - 07:44 AM
de mon coté j'ai regardé sur Realbasic et j'ai écris ça :
dim f as folderItem
#if targetMacOS
f = SpecialFolder.Applications.child("TextEdit.app")
#elseif targetWin32
f = SpecialFolder.Applications.child("TextEdit.exe")
#endif
f.Launch
Quit(0)
#16
Posté 25 November 2007 - 02:40 PM
voilà j'ai testé vite fait en Java et AIR pour le client et ça fonctionne très bien ! J'arrive à lancer n'importe quelle application.
Dans les grandes lignes en Java : créer un ServerSocket et implémenter une méthode qui reçoit une chaîne de caractères correspondant à un chemin, puis grâce à la classe Runtime lancer l'exécutable correspondant au chemin.
Du côté AIR : Ouvrir une connexion XMLSocket au serveur Java puis envoyer une ligne de commande.
Je nettoie un peu le code et je le met à dispo ici
#18
Posté 26 November 2007 - 12:25 PM
Donc voilà y'a les sources du Serveur Java et du client de test AIR. Il suffit simplement de se connecter au serveur, d'entrer un chemin (ex: C:\Windows\Notepad.exe) et de valider.
Si quelqu'un veut bien tester sur Mac ça m'intéresserait de savoir si ça fonctionne aussi (mais y'a pas de raison que non apparemment).
Fichier(s) joint(s)
-
AppLaunch_AIRClient.zip (273.48Ko)
Nombre de téléchargements: 36 -
AppLauncher_JavaServer.zip (7.82Ko)
Nombre de téléchargements: 25
#19
Posté 26 November 2007 - 02:09 PM
Hors java 6 n'est pas encore dispo sous mac ^^.
Le .class ne s'exécute pas, je lance netbeans pour confirmer. (quelques mn plus tard) ... je confirme, le serveur de socket marche si on zap la partie systray. Pour la partie AIR,
j'ai la flemme d'installer flex 3 sous le mac là
Par contre, ta solution est très jolie mais c'est quand même compliqué de devoir lancer une appli Java puis le clientAIR juste pour pouvoir
lancer une appli externe. C'est dommage que l'on ne puisse pas faire ça directement en as3.
Enfin bon, merci tout de même pour cette solution
++
Ce message a été modifié par stylatone : 26 November 2007 - 02:10 PM
#21
Posté 26 November 2007 - 02:39 PM
Si t'es sous mac, le . jar devrait marcher :
http://dev.floor-ele...haya/socket.jar
Pourquoi j'ai pas le droit d'uploader un .jar ici ? c'est concidérée comme dangereux ? hum...mouais
#23
Posté 26 November 2007 - 02:44 PM
et comment procéder ensuite
merci
Télécharge eclipse. http://www.eclipse.org/downloads/
Importe le projet.
Et lance le (run).
www.tonic-web.com
#24
Posté 26 November 2007 - 03:02 PM
le .jar est executable sous mac, je viens de le compiler avec Netbeans, en virant ce qui concerne le systray.
Parcontre, si tu veux voir les logs generés par le serveur, il faut que tu lances le .jar en ligne de commandes avec java -jar socket.jar
#25
Posté 26 November 2007 - 03:15 PM
Donc tu double-click juste et puis apres t'as plus qu'a lancer le projet air.
Sinon pour l'arreter, c'est en ligne de commande
> ps -aux | grep socket
tu recuperes le numero PID du thread
>kill "le numero PID"
ps: je suis en train de me dire, si tu connais pas ces manip, je peux paraitre louche à te faire faire çà
Ce message a été modifié par stylatone : 26 November 2007 - 03:19 PM
#26
Posté 26 November 2007 - 03:47 PM
Dommage qu'on ne puisse pas éditer ses messages aussi sur ce forum
Ce message a été modifié par stylatone : 26 November 2007 - 03:48 PM
#27
Posté 26 November 2007 - 03:52 PM
1 ) importer le projet Java sous builder, puis compilé et lancé.
2 ) Importer le projet AIR sous flex 3 beta 2, et exporter le projet en .air.
3 ) installer et executer le .air, choisir le chemin d'un exe, et lancer... et ca tourne !
www.tonic-web.com
#28
Posté 26 November 2007 - 04:11 PM
Deux types d'exception peuvent être gérées avec IOErrorEvent.IO_ERROR et SecurityErrorEvent.SECURITY_ERROR.
Désolé pour la lisibilité du code, comme j'ai dit c'est fait à l'arrache et ça n'aurait pas dû être mis à dispo de cette façon, mais y'a d'autres travaux sur lesquels je dois me concentrer en ce moment
Je vais quand même essayer de trouver le temps de nettoyer tout ça histoire de faire vivre mon blog
#29
Posté 26 November 2007 - 04:17 PM
MAIS admettons que ce projet AIR doive tourner sur toutes sortes de machines
on va demander en plus au mec qui l'installe de démarrer le serveur java ????
la questyion ser donc : comment démarrer le serveur de façon transparente pour l'utilisateur
de plus il serait intéressant de le packager dans le projet AIR
#30
Posté 26 November 2007 - 04:34 PM
@jeanphilippe: Une solution possible, il faudrait un installeur, qui mettent en place le projet air, et qui remplace son racourci par un script (en fonction de l'os) qui lance le serveur java et l'appli air (ça devient pas mal tordu quand même
Sinon, pour la simplicité de air, est il possible de faire un installeur qui installe le framework AIR sur l'ordi avant d'installer le projet lui même ? ça eviterais à un utilisateur lambda d'avoir à s'occuper de ça.
Ce message a été modifié par stylatone : 26 November 2007 - 04:37 PM
2 utilisateur(s) dans ce sujet
0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)
- MSN/Bing


Connexion
Inscription

Citer




