2010-07-16 9 views

Répondre

0

Commencez par Accessibility framework. Beaucoup de crochets pour les lecteurs d'écran sont également utiles ici. Regardez en particulier l'exemple UIElementInspector et le NSAccessiblity protocol.

Il ya aussi Quartz Window services, qui peut facilement vous donner une liste de toutes les fenêtres à l'écran. Malheureusement, il n'est pas lié à des concepts tels que la mise au point de la fenêtre (niveau juste), et je ne connais pas le moyen de récupérer les notifications lorsque les niveaux changent. Vous pourriez faire quelque chose comme puiser dans le cadre de Quartz Event pour capturer Cmd-Tab et autres, mais c'est complexe et fragile. Il y a malheureusement no good way pour convertir un CGWindowID en un AXUIElementRef (le message est pour 10.5, mais je ne connais rien de ce qui a été ajouté en 10.6 pour améliorer cela). Mais j'espère que vous pourrez faire tout ce dont vous avez besoin grâce au cadre d'accessibilité.

0

Vous voulez utiliser

[NSWorkspace runningApplications] 

pour vous obtenir une liste de toutes les applications en cours d'exécution, et de regarder

[NSRunningApplication currentApplication] 

à savoir quand l'utilisateur passe à une nouvelle application à suivre lequel est utilisé plus récemment.