我一直在尋找解決辦法,所以我想我會尋找比我更聰明的腦力。我正在開發一個Cocoa應用程序,它使用Accessibility API來操作另一個程序(這是一個熱鍵應用程序)。我所控制的應用通常有多個窗口打開,其中一些隱藏在其他窗口之後。如果可能的話,我想要做的就是使用Accessibility API將鼠標事件發送到窗口,方法是按下窗口中的按鈕而不將其帶到前臺(與窗口交互但不激活它) 。我試圖這樣做的原因是,將鼠標事件發送到其他窗口將強制它到前臺並破壞用戶與最前面的窗口的交互。Cocoa可訪問性API,我可以在後臺單擊一個窗口而不激活它嗎?
這在Windows上是可能的 - 顯然,因爲類似於我的應用程序在那裏做 - 但我覺得這對於Cocoa來說是不可能的,因爲窗口管理器的工作方式。我錯了嗎?
這並不能很好地回答你的問題,但Cocoa中的窗口可以接受鼠標事件而不會成爲前窗。我不確定你會怎麼做,但它應該被記錄下來,我已經看到了應用程序這樣做 - 但如果你不是應用程序接收事件的作者,那是不同於我的想着。 – lucius 2010-05-01 00:36:40
是的,我認爲你可以用NSView accetpsFirstMouse來解決這個問題,但顯然我不能修改另一個應用程序對NSView或NSWindow的使用。 – Winawer 2010-05-01 01:40:05