Зацепить API Какао? - PullRequest
       5

Зацепить API Какао?

0 голосов
/ 23 ноября 2010

Я пытаюсь подключить API какао.

Я знаю, что какао предоставляет общедоступный API для перехвата, поэтому можно перехватить системную функцию и получить информацию, такую ​​как текущие настройки шрифта контекста.

Я также пытаюсь поймать этот апи из какао.

Может кто-нибудь указать мне детали того, как этого можно достичь. Или какие-то ссылки, в которых говорится о подключении API-интерфейсов Cocoa?

Под Hooking я подразумеваю «фундаментальный метод получения контроля над определенным фрагментом выполнения кода. Он предоставляет простой механизм, который может легко изменять поведение операционной системы, а также продуктов сторонних производителей, не имея доступного исходного кода. «

Мое требование: если какое-либо приложение / система что-то рисует, то я хочу, чтобы эти инструкции по рисованию сначала пришли ко мне. Затем я не могу сохранить эти команды для последующей обработки.

Ответы [ 4 ]

3 голосов
/ 24 ноября 2010

Термин, который вы ищете, является чем-то вроде «общесистемного внедрения кода», и Какао не предоставляет API для любой такой вещи.Вам нужно взглянуть на что-то вроде mach_star или SIMBL .Но, честно говоря, это одна из тех вещей, где, если вам нужно спросить, она, вероятно, немного продвинута для вас.Модификация кода других процессов - гигантская PITA, и делать ее еще сложнее, даже с такой большой помощью, которую предлагает mach_star.Если вы хотите увидеть, насколько сложно, посмотрите на сайт Unsanity .Это компания, которая впервые ввела внедрение кода в OS X, и вся их линейка продуктов основана на нем - и многие из их программ все еще несовместимы с OS X 10.6.

2 голосов
/ 23 ноября 2010

Слова, которые вы выбираете, и очень широкий охват, который они охватывают, предлагают начинать с самого началаЗдесь есть простое руководство по приложению Какао .Он проведет вас через основной процесс создания приложения Какао для Mac.Начните там, а затем публикуйте более конкретные вопросы по мере их возникновения.

1 голос
/ 25 ноября 2010

Вы не можете перехватить чертеж другого приложения, как это происходит, но вы можете зафиксировать результаты по факту. Используйте Службы Quartz Window , чтобы делать снимки экрана, и Службы Quartz Display , чтобы узнать, когда обновляется экран.

1 голос
/ 23 ноября 2010

Включая ...

#import <objc/objc.h>
#import <objc/runtime.h>

позволит вам иметь доступ к изменению классов и объектов во время выполнения.Хотя это довольно «безрассудно».

Намного лучше использовать Objective-C Categories для более «безопасного» доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...