Я хочу создать замену для переключателя приложений (aka 'cmd + tab').Как определить аргументы для частной функции API?
Я знаю, что это возможно, потому что Lite Switch X делает это.
То, что я получил до сих пор достигнуто:
Силой выходе из дока и вызова CPSRegisterForKey()
(который является частной функции API) можно предотвратить + вкладку CMD по умолчанию работать.
Второй шаг - два регистра горячих клавиш для моего приложения. Стандартный способ сделать это, RegisterEventHotKey()
, не работает. Немного googling и GDBing предполагает, что Dock и Lite Switch X используют CGSSetHotKeyEnabled()
и CGSSetHotKey()
(оба эти являются частными функциями API). Проблема в том, что я не знаю, какие аргументы эти функции принимают.
Как определить аргументы для частной функции API?
Update:
У меня есть немного дальше CGSSetHotKey()
:
OSErr setupResult = CGSSetHotKey(_CGSDefaultConnection(), unknownArg, unknownArg, unknownArg, kCGEventFlagMaskCommand, ???, ???, ...);
Закрыть, но без сигары! Все вызовы - это обычные C, а не Objective-C. Однако это было по-прежнему полезно. Благодаря! –
Упс! Вы абсолютно правы. Вы можете использовать 'gdb' для присоединения к Finder, как вы это сделали, но тогда у вас нет символов для этих разделяемых библиотек. Интересная задача ... –