Frage

Ich habe nach einer Lösung für dieses immer gesucht, also dachte ich, würde ich die grauen Zellen von mehr Köpfe als meine suchen. Ich entwickle eine Cocoa-Anwendung, die die Accessibility API verwendet ein anderes Programm zu manipulieren (es ist ein Hotkey-App). Die App I Steuerung bin hat in der Regel mehrere Fenster öffnen, mit einigen hinter anderen versteckt. Was würde ich tun, wenn es möglich ist, ist Mausereignis Fenster zu senden in eine Weise, die Accessibility API verwenden, dass eine Schaltfläche im Fenster drückt, ohne es in den Vordergrund zu bringen (interact mit dem Fenster, aber aktiviert es nicht) . Der Grund, warum ich versuche, dies zu tun, ist, dass das Maus-Ereignis in diesem anderen Fenster sendet es in den Vordergrund zwingen wird, und stört die Interaktion des Benutzers mit dem vordersten Fenster.

Dies ist möglich, unter Windows - offenbar, weil Anwendungen ähnlich wie ich es dort tun - aber ich bin immer das Gefühl, dass dies mit Cocoa nicht möglich ist, angesichts die Art und Weise des Fenstermanager funktioniert. Bin ich falsch?

War es hilfreich?

Lösung

Die Zugänglichkeit ist auf höhere Ebene als das. Sie senden, zum Beispiel AXPress Aktionen AXButton Objekte, sondern „Presse“ ist nicht unbedingt ein Klick-Drücken der Leertaste, während eine Ansicht fokussiert ist, ist beispielsweise auch ein „Presse“. AXPress ist eine High-Level-Aktion, die Mittel „mach dein Ding“, die offensichtlich seit einigen Ansichten Sinn (wie Schaltflächen) und nicht andere (wie Felder).

Zugänglichkeit der Aktivierung des Programms macht Sinn, wenn man es von seinem beabsichtigten Zweck aussehen: Assistive Geräte für behinderte Nutzer. Wenn der Benutzer „drückt“ etwas mit welchen Mitteln wollen sie wahrscheinlich die Anwendung und Arbeit in diese aktivieren.

Quartz Event Services erhalten fast es: Sie können sie an einen Wasserhahn senden. Der Haken ist, dass Sie können nur Ereignisse an einen Wasserhahn senden, wenn der Hahn Feuer -ie, wenn die Anwendung bereits ein Ereignis zu tun hat. Wenn dies nicht der Fall, du bist stecken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top