2010-11-23 396 views
0

我正在嘗試掛鉤可可API。掛鉤可可API?

我知道可可爲鉤子提供了一個公共的API,因此可以掛鉤系統功能並檢索信息,例如上下文的當前字體設置。

我也試圖鉤從可可繪製api。

有人可以告訴我如何實現的細節。或者談論可可API的鉤子?我的意思是「獲取對特定代碼執行的控制權的基本技術,它提供了一種直接的機制,可以輕鬆地改變操作系統的行爲以及第三方產品,而無需提供其源代碼「。我的要求是,如果任何應用程序/系統正在繪製某些東西,那麼我希望這些繪製說明應該先找到我。然後我不能存儲這些命令,稍後進行一些處理。

+2

請更具體地描述你想要做什麼。 – 2010-11-23 09:55:03

+0

添加了更多詳細信息。請告訴我,如果它足夠。 – MacGeek 2010-11-23 10:16:25

+0

你是什麼意思? – 2010-11-23 10:17:20

回答

3

您正在尋找的術語類似於「全系統代碼注入」,而Cocoa沒有提供任何此類API的API。你需要看看像mach_starSIMBL。但說實話,這是其中的一件事,如果你不得不問,它可能對你來說有點先進。修改其他進程的代碼是一個巨大的PITA,即使有更多的mach_star提供的幫助,也很難做到。如果你想看看有多難,看看Unsanity's site。這是在OS X上率先推出代碼注入的公司,他們的整個產品線都以此爲基礎 - 其中許多程序仍與OS X 10.6不兼容。

2

您選擇的詞彙以及涵蓋的範圍非常廣泛,這表明您需要從一開始就着手。有一個簡單的可可應用tutorial here。它引導您完成爲Mac創建Cocoa應用程序的基本過程。從那裏開始,然後發佈更具體的問題。

1

包括...

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

將讓你有機會在運行時修改類和對象。雖然這很「魯莽」。

一個好得多的想法是使用Objective-C Categories更安全的訪問。