Могу ли я изменить текущий курсор в неактивном приложении?

У меня есть служебное приложение для Mac, которое работает в фоновом режиме ( LSUIElement включен). При определенных условиях это приложение отображает окно меню с несколькими кнопками. Проблема в том, что, когда я наводю курсор на это окно, курсор мыши по-прежнему ведет себя в соответствии с приложением под ним - когда в меню есть текст, курсор меняется на форму вставки «I beam».

Очевидно, я бы предпочел обычный стрелка указателя. Я погрузился в NSTrackingArea и друзей. После небольшого взлома я могу обнаружить события ввода и выхода мыши. Но когда я пытаюсь изменить текущий курсор с помощью NSCursor при вводе мыши, ничего не происходит. Похоже, что машина отказывается менять курсор из неактивного приложения, потому что, когда я активирую приложение перед событием ввода мыши, курсор изменяется.

Я не хочу переключать активное приложение только для изменения курсора. Есть ли способ поиграть с курсором в неактивном приложении?

PS Та же проблема с cocoa-dev: один , два .

10
задан zoul 4 April 2011 в 09:02
поделиться