De nombreuses applications tierces ont de petits icônes de menu dans le coin supérieur droit de la barre de menus, comme Evernote, iStat, Parallels Desktop, et ainsi de suite. J'ai essayé d'écrire quelques AppleScripts pour cliquer sur ces icônes de menu, mais sans succès.
Prenons "PD" par exemple:
tell application "System Events"
tell process "Parallels Desktop"
get properties of every menu bar item of every menu bar
end tell
Je peux obtenir plusieurs éléments de menu comme "Apple", "Parallels Desktop", "Fichier", "Édition", ..., "Aide", qui sont apparemment les menus en haut à gauche de PD. De plus, un élément de menu supplémentaire est également obtenu et décrit comme suit:
{valeur minimale:valeur manquante, orientation:valeur manquante, position:{1338, 0}, classe:élément de la barre de menus, description d'accessibilité:"", description du rôle:"menu supplémentaire", focalisé:false, titre:valeur manquante, taille:{30, 22}, aide:"", contenu entier:{}, activé: vrai, valeur maximale:valeur manquante, rôle:"AXMenuBarItem", valeur:valeur manquante, sous-rôle:"AXMenuExtra", sélectionné:fal se, nom:valeur manquante, description:""}
Après avoir vérifié la position avec l'Inspecteur d'accessibilité, je peux confirmer que ce menu supplémentaire est l'icône de menu que je veux cliquer. Ensuite, j'écris ceci:
tell application "System Events"
tell process "Parallels Desktop"
click menu bar item 1 of menu bar 2
end tell
ou remplacez l'instruction "click" par :
perform action "AXPress" of menu bar item 1 of menu bar 2
ou par:
perform action "AXShowMenu" of menu bar item 1 of menu bar 2
Tous les codes ci-dessus renvoient le même résultat: valeur manquante, et aucun menu ne s'affiche du tout!
Quant aux éléments de l'UI du système comme "texte d'entrée", "date et heure", "wifi", "batterie", "VPN", la méthode de clic fonctionne. MAIS pour les applications tierces, cela ne fonctionne pas.
Alors, comment cliquer sur ces éléments de menu tiers via AppleScript?
Merci beaucoup!!