2010-03-31 39 views
1

是否有API用於檢索Mac OS X上當前打開的應用程序的圖標?我試圖檢索活動應用程序的所有圖標以及應用程序頂部的任何徽章(即郵件中的新郵件數量或傳輸中的當前下載速率)。是否有某種Dock API?OS X Dock API?檢索帶有徽章和其他修改的OS X活動應用程序的圖標

唯一提到的用於檢索有關當前活動應用程序的信息的OSX API是Process Manager API,它沒有提及輪詢停靠欄或檢索圖標數據的能力。

至於應用程序圖標,我已經找到了唯一的文檔有關NSWorkspace:http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Workspace/Workspace.pdf

回答

2

貌似Theocacao has a well documented sample of NSWorkspace being used to obtain open applications and retrieve their icons。沒有提及是否也會檢索徽章/修改應用程序的圖標,或者是否有方法訂閱與圖標更新相關的通知。

檢索活動的應用程序:

NSWorkspace * ws = [NSWorkspace sharedWorkspace]; 
NSArray * apps = [ws launchedApplications]; 
NSLog (@"%@", apps); 

檢索應用程序的圖標:

NSWorkspace * ws = [NSWorkspace sharedWorkspace]; 
NSString * path = [ws fullPathForApplication:@"Safari"]; 
NSImage  * icon = [ws iconForFile: path]; 
相關問題