Applescript relancer une application

Le
danrob
Le besoin :
Avec un script lancé depuis iView MediaPro (menu script) je souhaite
quitter puis immédiatement relancer cette application.

Le script suivant fonctionne en l'éxécutant depuis l'éditeur de script
mais ne relance pas l'application si il est lancé depuis ivmp.

Rien trouvé avec Gougueule ni Hapeul.
Quelle bidouille manque ?

tell application "iView MediaPro"
quit
end tell
delay 3
tell application "iView MediaPro"
activate
end tell
-- itou avec
launch application "iView MediaPro"
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nina Popravka
Le #491563
On Mon, 12 Mar 2007 15:26:52 +0100, (Daniel Robillard)
wrote:

tell application "iView MediaPro"
activate
end tell


Vu qu'elle est quittée, elle doit être un peu sourde.
Je dirais plutôt au Finder de la lancer :-)
--
Nina

Patrick Stadelmann
Le #491333
In article (Daniel Robillard) wrote:

Le besoin :
Avec un script lancé depuis iView MediaPro (menu script) je souhaite
quitter puis immédiatement relancer cette application.

Le script suivant fonctionne en l'éxécutant depuis l'éditeur de script
mais ne relance pas l'application si il est lancé depuis ivmp.


Logique, car le script est exécuté dans le contexte de cette
application. Quand elle quitte, le script meurt.

Rien trouvé avec Gougueule ni Hapeul.
Quelle bidouille manque ?


Il faut passer par une applet externe, lancée par le script. Donc ton
script devient :

tell application "QuitteEtRelanceIVMP"
run
end tell

"QuitteEtRelanceIVMP" contient ton précédent script. Enregistrer comme
application.

Patrick
--
Patrick Stadelmann
danrob
Le #491332
Nina Popravka wrote:

Vu qu'elle est quittée, elle doit être un peu sourde.


Hein !

Je dirais plutôt au Finder de la lancer :-)


Non marche pas, j'ai essayé aussi avec system event.
Tout marche jusqu'à l'appel de l'application.
Le problème vient du fait que l'application quittée est parente du
script (elle le lance).
Ça marche en lançant une autre application.

Patrick Stadelmann
Le #491331
In article Nina Popravka wrote:

On Mon, 12 Mar 2007 15:26:52 +0100, (Daniel Robillard)
wrote:

tell application "iView MediaPro"
activate
end tell


Vu qu'elle est quittée, elle doit être un peu sourde.


Non, AppleScript est suffisamment intelligent pour lancer une
application avant de lui envoyer une commande !

Patrick
--
Patrick Stadelmann

danrob
Le #491330
Patrick Stadelmann
Logique, car le script est exécuté dans le contexte de cette
application. Quand elle quitte, le script meurt.


Il ne semble pas car des instructions beep et display dialog sont bien
exécutées après le quit.
tell application "iView MediaPro"
quit
end tell
beep 2
display dialog "quitté"
tell application "iView MediaPro"
activate
end tell

Il faut passer par une applet externe, lancée par le script. Donc ton
script devient :


Marche mais c'est lourd, il faut s'assurer du chemin.
Je reste persuadé qu'il existe une astuce sans intermédiaire puisqu'il
est possible de lancer une autre application.

Patrick Stadelmann
Le #491329
In article (Daniel Robillard) wrote:

Patrick Stadelmann
Logique, car le script est exécuté dans le contexte de cette
application. Quand elle quitte, le script meurt.


Il ne semble pas car des instructions beep et display dialog sont bien
exécutées après le quit.


La commande

display dialog (name of current application) as text

permet de déterminer qui exécute le script. Si le script est lancé
depuis le menu Script, alors c'est System Events qui l'exécute, et dans
ce cas ça doit fonctionner, pour autant que l'on mette un délai (comme
dans ton premier script) sinon la commande "activate" est envoyé à
l'instance qui va quitter.

Si c'est iVMP, alors ça ne peut pas marcher, car

- soit la commande de lancement est envoyée quand l'application a déjà
quitté, et donc elle ne peut pas être envoyée !

- soit elle est envoyée avant, et vise donc l'instance encore active, et
n'a donc aucun effet.

Marche mais c'est lourd, il faut s'assurer du chemin.


Heu.. non. L'application est identifiée à la compilation, elle est
ensuite localisée automatiquement. Si elle change (e.g. mise à jour) le
script demandera de la localiser à nouveau.

Patrick
--
Patrick Stadelmann

danrob
Le #491326
Patrick Stadelmann
Si c'est iVMP, alors ça ne peut pas marcher, car

- soit la commande de lancement est envoyée quand l'application a déjà
quitté, et donc elle ne peut pas être envoyée !

- soit elle est envoyée avant, et vise donc l'instance encore active, et
n'a donc aucun effet.


Je penche pour la deuxième car je constate que ivmp est encore active
durant le delay, elle quitte réellement au moment où elle devrait se
relancer.

Merci pour tes conseils.

Patrick Stadelmann
Le #491325
In article (Daniel Robillard) wrote:

Patrick Stadelmann
Si c'est iVMP, alors ça ne peut pas marcher, car

- soit la commande de lancement est envoyée quand l'application a déjà
quitté, et donc elle ne peut pas être envoyée !

- soit elle est envoyée avant, et vise donc l'instance encore active, et
n'a donc aucun effet.


Je penche pour la deuxième car je constate que ivmp est encore active
durant le delay, elle quitte réellement au moment où elle devrait se
relancer.

Merci pour tes conseils.


Si tu ne veux pas lancer une applet, tu peux utiliser un script shell à
la place :

osascript -e 'tell application "Finder" to quit'
sleep 1
open -a "Finder"

appelable via "do shell script" :

do shell script "/chemin/complet/vers/le/script"

Patrick
--
Patrick Stadelmann

Publicité
Poster une réponse
Anonyme