我成功地使用 CGWindowListCopyWindowInfo 获取了桌面上的窗口列表,但下一次是尝试获取窗口的属性,例如程序名称、标题和其他属性。
我应该研究什么 API?我们有关于如何执行此操作的示例吗?
最佳答案
列出窗口并在循环时检索特定信息:
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
关于cocoa - 如何使用CGWindowListCopyWindowInfo从窗口列表中获取程序的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6160727/