API Accessibility Cocoa, могу ли я нажать на окно на заднем плане, не активируя его?

StackOverflow https://stackoverflow.com/questions/2747931

Вопрос

Я искал на вечном видении для этого решения, поэтому я подумал, что буду искать мозговой болот больших умов, чем моих. Я разрабатываю приложение Cocoa, которое использует API доступности для манипулирования другой программой (это приложение Hotkey). Приложение, которое я контролирую, обычно имеет несколько окон открытым, с некоторыми скрытыми за другими. То, что я хотел бы сделать, если это возможно, чтобы отправить события мыши в Windows, используя API доступности таким образом, что нажимает кнопку в окне, не доставляя его на передний план (взаимодействовать с окном, но не активируйте его) Отказ Причина, по которой я пытаюсь сделать это, это то, что отправка события мыши на это другое окно заставит его к переднему плану и нарушает взаимодействие пользователя с главным окном.

Это возможно на Windows - видимо, потому что приложения, похожие на мой, делают это там - но я получаю ощущение, что это невозможно с какао, учитывая способ работы оконного менеджера. Я ошибаюсь?

Это было полезно?

Решение

Доступность является более высоким уровнем, чем это. Вы отправляете, например, AXPress Действия AXButton Объекты, но «PRESS» не обязательно не обязательно нажимают пространственную панель, в то время как вид сфокусирован, например, также является «прессом». AXPress Это действие высокого уровня, которое означает «сделать вашу вещь», что, очевидно, имеет значение для некоторых взглядов (таких как кнопки), а не другие (такие как поля).

Accessibility Activacting Application имеет смысл, когда вы посмотрите на него по назначению: вспомогательные устройства для пользователей для инвалидов. Если пользователь «нажимает» что-то любые средства, они, вероятно, намерены активировать приложение и работать в нем.

Кварцевые события Услуги Получу тебя почти Там вы можете Создайте кран события для процесса, который вы хотите управлять, и вы можете собираться события и отправить их в кран. Отказ Поймать это Вы можете отправлять только события в кран, когда кран пожары-Ie, когда приложение уже имеет мероприятие для решения. Когда это не так, ты застрял.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top