Я искал вечность для решения этого вопроса, поэтому я подумал, что найду мозги больших умов, чем мои. Я разрабатываю приложение Cocoa, которое использует API Accessibility для управления другой программой (это приложение с горячими клавишами). Приложение, которое я контролирую, обычно имеет несколько открытых окон, а некоторые скрыты за другими. То, что я хотел бы сделать, если это возможно, - отправить события мыши в окна с помощью API Accessibility таким образом, чтобы нажимать кнопку в окне, не вынося на передний план (взаимодействовать с окном, но не активировать его) , Причина, по которой я пытаюсь сделать это, заключается в том, что отправка события мыши в это другое окно заставит его перейти на передний план и нарушит взаимодействие пользователя с главным окном.API доступности какао, можно ли щелкнуть окно в фоновом режиме, не активируя его?
Это возможно в Windows - видимо, потому что приложения, подобные моим, делают это там - но у меня возникает ощущение, что это невозможно с помощью Cocoa, учитывая то, как работает оконный менеджер. Я ошибаюсь?
Это не совсем ответит на ваш вопрос, но окна в Cocoa могут принимать события мыши, не становясь передним окном. Я не уверен, как вы это сделаете, но он должен быть документирован, и я видел приложения, которые это делают, хотя, если вы не являетесь автором приложения, получающим события, это отличается от того, что я думать о. – lucius
Да, я думаю, что вы можете гадать с NSView accetpsFirstMouse для этого, но, очевидно, я не могу изменить использование другого приложения NSView или NSWindow. – Winawer