Molte app di terze parti hanno piccole icone di menu nell'angolo in alto a destra della barra dei menu come Evernote, iStat, Parallels Desktop e così via. Ho provato a scrivere alcuni AppleScript per fare clic su quelle icone di menu, ma tutti falliti .
Prendi "PD" per esempio:
tell application "System Events"
tell process "Parallels Desktop"
get properties of every menu bar item of every menu bar
end tell
end tell
Posso ottenere più voci di menu come "Apple", "Parallels Desktop", "File", "Modifica", ..., "Aiuto", che apparentemente sono i menu in alto a sinistra del PD. Inoltre, si ottiene anche un menu extra ed è descritto come segue:
{valore minimo: valore mancante, orientamento: valore mancante, posizione: {1338, 0}, classe: elemento della barra dei menu, descrizione dell'accessibilità: "", descrizione del ruolo: "menu extra", focalizzato: falso, titolo: valore mancante, dimensione: {30, 22}, help: "", intero contenuto: {}, abilitato: vero, valore massimo: valore mancante, ruolo: "AXMenuBarItem", valore: valore mancante, subrole: "AXMenuExtra" , selezionato: falso, nome: valore mancante, descrizione: ""}
Dopo aver verificato la posizione di Accessibility Inspector, posso confermare che questo menu extra è l'icona del menu che voglio fare clic. Quindi scrivo questo:
tell application "System Events"
tell process "Parallels Desktop"
click menu bar item 1 of menu bar 2
end tell
end tell
o sostituisci l'istruzione "clic" con:
perform action "AXPress" of menu bar item 1 of menu bar 2
o con:
perform action "AXShowMenu" of menu bar item 1 of menu bar 2
Tutti i codici sopra riportati restituiscono lo stesso risultato: valore mancante e nessun menu appare affatto!
Per quanto riguarda gli elementi dell'interfaccia utente di sistema come "input text", "date and time", "wifi", "battery", "VPN", il metodo click funziona. MA per app di terze parti, non funziona.
Quindi, come fare clic su questi extra di menu di terze parti tramite AppleScript?
Grazie mille !!