2011-05-28 884 views

回答

6

列表窗口和檢索特定的信息,同時通過循環:

NSMutableArray *windows = (NSMutableArray *)CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID); 

for (NSDictionary *window in windows) { 
    NSString *owner = [window objectForKey:@"kCGWindowOwnerName" ]; 
    NSString *name = [window objectForKey:@"kCGWindowName" ]; 
    NSLog(@"%@ - %@",owner,name); 
} 

可用鍵:

kCGWindowIsOnscreen 
kCGWindowLayer 
kCGWindowMemoryUsage 
kCGWindowName 
kCGWindowNumber 
kCGWindowOwnerName 
kCGWindowOwnerPID 
kCGWindowSharingState 
kCGWindowStoreType 
+0

如何讓喜歡什麼樣的程序,例如,瀏覽器信息,如果它是瀏覽器,獲取歷史記錄等 – 2011-05-28 13:56:16

+0

以這種方式檢索「種類的應用程序」是不可能的。但是,您可以再次檢查包含所有瀏覽器的預定義數組,即「kCGWindowOwnerName」。示例數組:NSArray * browsers = [[NSArray alloc] initWithObjects:@「Safari」,@「​​Firefox」,@「Chrome」,@「Opera」,nil];'示例檢查:'[browsers containsObject:theOwnerName]; '。瀏覽器歷史記錄對於每個瀏覽器都是完全不同的。 – Anne 2011-05-28 14:23:31