Ouvrir une appplication avec Applescript

greensource

Membre actif
1 Décembre 2005
150
1
Rennes
Bonjour, je voudrais faire un script pour ouvrir une application en deux trois truc ensuite.
Mais je n'arrive même pas à l'ouvrir ;-)
J'execute ceci:
AppleScript:
tell application "QuickTime Player"
open
end tell
et j'ai le message d'erreur suivant:
image1pq3.png


J'ai essayer d'écrire:
AppleScript:
open "QuickTime Player"
directement mais ça marche pas non plus.

Merci d'avance
 
Dernière édition par un modérateur:
En fait je ne voudrais pas ouvrir de fichier, (mais merci ça me reservira surement) Je veux juste que l'application soit lancé.
De ce que j'ai pu comprendre, faire
AppleScript:
tell application "NomDeLAppli"
ça lance l'application. Mais moi quand je met juste ça j'ai rien qui se lance dans le Dock, hors si l'application est lancé c'est bien là que je devrais la voir non?
Donc je me suis dit avec open ça devrais marcher. Mais en fait open il faut plutôt l'entendre par "ouvrir quelques choses dans l'application appelé" c'est bien ça?

Je suis en même temps en train de lire la doc apple sur le sujet mais si quelqu'un sais comment faire, merci d'avance.
 
Dernière édition par un modérateur:
Ah parfait c'est exactement ce que je voulais faire. Merci beaucoup de te rapidité.
Je suis tombé sur un autre souci, c'est quand je veux quitter l'application (avec quit) il y a une fenêtre avec un bouton ok et un annuler.

Comme je l'ai dit plus haut j'essais de me renseigner par moi même (si tu as des bonnes références pour apprendre) donc je vais tous vous demander je vais chercher avant. Je reviendrais si je bloque vraiment.

Merci encore.

[edit: par contre je crois être tombé sur un os, toutes les applications ne semble pas être "Applescriptable"?]
 
Comme je l'ai dit plus haut j'essais de me renseigner par moi même (si tu as des bonnes références pour apprendre) donc je vais tous vous demander je vais chercher avant. Je reviendrais si je bloque vraiment.

Merci encore.

[edit: par contre je crois être tombé sur un os, toutes les applications ne semble pas être "Applescriptable"?]
Bonjour

Cette page d'Apple en Français, pour débuter.

http://docs.info.apple.com/help/guide.html?path=AppleScript/2.1/fr/

Le plus simple pour savoir si une application possède un dictionnaire pour AppleScript c'est de déposer l'icône de l'application sur l'icône de l'éditeur de script.

Si le dictionnaire existe, l'ouvre.
Si le dictionnaire n'existe pas fenêtre signalant qu'il n'existe pas.

@+
 
Zut, j'ai vérifié ya pas de dictionnaire. Cela signifie que je ne peut pas commander l'appli avec des applescripts c'est ça?
Mais je me demandais, il dois bien y avoir une commande "forcer à quitter" ou un truc comme ça, puisque le Finder est applescriptable. Mais je n'arrive pas à trouver.
 
Zut, j'ai vérifié ya pas de dictionnaire. Cela signifie que je ne peut pas commander l'appli avec des applescripts c'est ça?
Mais je me demandais, il dois bien y avoir une commande "forcer à quitter" ou un truc comme ça, puisque le Finder est applescriptable. Mais je n'arrive pas à trouver.

Via un "Kill" peut etre, puisqu'AppleScript peut commander le Terminal, mais je ne te le recommanderait pas, c'est assez violent...

Cordialement
 
Zut, j'ai vérifié ya pas de dictionnaire. Cela signifie que je ne peut pas commander l'appli avec des applescripts c'est ça?
Mais je me demandais, il dois bien y avoir une commande "forcer à quitter" ou un truc comme ça, puisque le Finder est applescriptable. Mais je n'arrive pas à trouver.
Bonjour

Comme tu parle de QuickTime Player j'ai fait un test pour le quitter avec AppleScript.
QuickTime Player a un dictionnaire.

Façon Terminal:
Le nom de l'application entre guillemet et anti-slash pour faire prendre en compte l'espace dans le nom de l'application (ou tout caractères non utilisés par un clavier US)

AppleScript:
tell application "Finder"
    activate
    do shell script "killall \"QuickTime Player\""
end tell

Façon quitter par la barre des menus:

Avec cette façon tu doit arriver a fermer toutes les applications qui dans la barre des menus ont une commande pour quitter.

AppleScript:
tell application "QuickTime Player" to activate
tell application "System Events"
    keystroke "q" using command down
end tell

Les 2 fonctionnent sur mon iMac intel.

@+
 
Dernière édition par un modérateur:
Bonsoir,

Apres Open, il te faut le chemin sur ton fichier.

Par exemple :

tell application "QuickTime Player"
open "/Developpement/Solfege.src/Musiques/Midi/saltydog.mid"
end tell

Cordialement


AppleScript:
open -a "QuickTime Player" via shell

osascript -e 'tell app "QuickTime Player" to activate'
osascript -e 'tell app "QuickTime Player" to launch'
osascript -e 'tell app "QuickTime Player" to open' #never
 
Dernière édition par un modérateur:
Bien merci à tous j'ai finalisé le script que je voulais obtenir. Je le met pas car c'est à la limite de la légalité (ça l'est quand même).
En tous cas j'ai fini par utilisé la commande:
AppleScript:
do shell script "killall \"QuickTime Player\""
D'ailleurs si je comprend bien, "do shell script" execute la commande entre guillemet c'est bien ça? C'est un langage de commande particulier ou bien ça marche pour tous?
 
Dernière édition par un modérateur:
Bien merci à tous j'ai finalisé le script que je voulais obtenir. Je le met pas car c'est à la limite de la légalité (ça l'est quand même).
En tous cas j'ai fini par utilisé la commande:
AppleScript:
do shell script "killall \"QuickTime Player\""
D'ailleurs si je comprend bien, "do shell script" execute la commande entre guillemet c'est bien ça? C'est un langage de commande particulier ou bien ça marche pour tous?

c'est a dire?
 
Dernière édition par un modérateur:
D'ailleurs si je comprend bien, "do shell script" execute la commande entre guillemet c'est bien ça? C'est un langage de commande particulier ou bien ça marche pour tous?

"do shell script" est la commande AppleScript qui permet de lancer la commande que tu veut dans le Terminal.

Cordialement
 
bonjour, je relance la discussion, je voudrais savoir quelle serait la commande applescript pour qu'il fasse la commande suivante :

si l'application est ouverte, il la ferme
si l'applicatioin est fermée, il l'ouvre.

merci d'avance

pv
 
bonjour, je relance la discussion, je voudrais savoir quelle serait la commande applescript pour qu'il fasse la commande suivante :

si l'application est ouverte, il la ferme
si l'applicatioin est fermée, il l'ouvre.

merci d'avance

pv
Bonsoir

Une façon parmi tant d'autres.

AppleScript:
if application "Safari" is not running then
    tell application "Safari" to activate -- Safari fermé l'ouvre
else
    tell application "Safari" to quit -- Safari ouvert alors quitte
end if

@+
 
Dernière édition par un modérateur:
Bonsoir

Une façon parmi tant d'autres.

AppleScript:
if application "Safari" is not running then
    tell application "Safari" to activate -- Safari fermé l'ouvre
else
    tell application "Safari" to quit -- Safari ouvert alors quitte
end if

@+
Y a-t-il moyen de préciser qu'on veut une ouverture en plein écran ?
 
Dernière édition par un modérateur:
Y a-t-il moyen de préciser qu'on veut une ouverture en plein écran ?
AppleScript:
if application "Safari" is not running then
    tell application "Safari" to activate
    tell application "System Events" to tell process "Safari"
        set isfullscreen to value of attribute "AXFullScreen" of window 1
    end tell
    if isfullscreen is false then
        tell application "System Events" to keystroke "f" using {command down, control down}
        delay 2
    end if
else
    tell application "Safari" to quit
end if
 
La tentative d'exécution à partir de Editeur Applescript me donne:

Bloc de code:
error "Erreur dans System Events : Il est impossible d’obtenir window 1 of process \"Safari\".
Index non valable." number -1719 from window 1 of process "Safari"

OK, erreur de débutant de ma part apparemment, il fallait enregistrer le script en tant qu'application.

Merci pour corto77 :zen:
 
Dernière édition: