Рычаги Windows позволяют Вам вводить по абсолютному адресу в других процессах и иногда изменять их поведения.
Есть ли такая вещь для Mac OS X?
Спасибо!
SetWindowsHookEx
больше похож на старый хак InputManager
в том смысле, что что вы меняете код приложения из общей библиотеки / загруженного в нее плагина.
См. SIMBL для готового инжектора кода для другого процесса. Для классов Objective-C вам необходимо использовать swizzling . Я сам не пробовал заменять функции C / классы C ++, но, конечно, это можно сделать с помощью mach_override . См. Также это сообщение в блоге .
Но обычно, если вы хотите изменить приложение с графическим интерфейсом, достаточно использовать классы Objective-C.
Кварцевые краны событий могут отслеживать и изменять низкоуровневые события, такие как нажатия клавиш и щелчки мыши, с учетом некоторых ограничений. Не могли бы вы подробнее рассказать о том, что вы хотите сделать?
Чего конкретно вы пытаетесь достичь? Можете ли вы объяснить, почему вам нужен эквивалент Mac OS X SetWindowsHookEx ()
? (Краткий ответ: его нет. Средний ответ: почти все, что вы можете сделать с SetWindowsHookEx ()
в Windows, можно сделать в Mac OS X каким-то другим, более ориентированным на объект способом.)