2011-02-10 1 views
4

Je lance un Mac Pro en utilisant des parallèles pour exécuter de nombreuses machines virtuelles. J'utilise le script suivant pour obtenir l'URL de l'onglet actif de la fenêtre active de Firefox.Un navigateur de machine virtuelle est pris en compte par l'applescript si des parallèles sont installés dans MacPro

(1) tell application "Firefox" pour définir Theurl à «classe boucle» de la fenêtre 1 (pour Firefox < 3,6)

(2) tell application "Firefox" pour activer l'application tell "System Events" combinaison de touches "l" aide de {commande down} combinaison de touches "c" à l'aide {commande vers le bas} end tell retard 0,5 le presse-papier (pour Firefox> = 3.6)

Mais, ces AppleScript essaie d'ouvrir Firefox dans un des machines virtuelles et ignore le Firefox Mac-native ouvert. Que peut-on faire à ce sujet?

Merci d'avance. Cordialement, Deepa

Répondre

4

Vous avez probablement des applications invitées partagées activées (Partager les applications Windows avec l'option Mac OS dans la configuration Vm). Par conséquent, Parallels Desktop crée des stubs dans votre dossier ~/Application pour les applications invitées. Par exemple, vous trouverez Firefox.app là qui est lié à Firefox dans l'invité.

Vos options sont:

  • Désactiver Shared Guest Applications pour votre Vm
  • être plus précis dans votre AppleScript pour identifier l'application non seulement par son nom

Par exemple, vous pouvez identifier application en tant que (http://developer.apple.com/library/mac/#documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_classes.html#//apple_ref/doc/uid/TP40000983-CH1g-SW2):

  • id d'application "ttx t »
  • id application "com.apple.TextEdit"
  • application "/Applications/TextEdit.app"
+0

Merci pour la réponse. Je vais essayer et afficher le résultat ici. – spd

+0

Le problème avec l'identification d'une application via son identifiant d'application est que ce que vous obtenez n'est qu'un objet d'application générique, qui ne "comprendra" pas les commandes spécifiques à l'application (corrigez-moi si je me trompe). Ainsi, la désactivation des applications invitées partagées semble la seule solution, ce qui pourrait bien sûr ne pas toujours être souhaitable. –

Questions connexes