如何使用CGWindowListCopyWindowInfo从窗口列表中获取程序的信息

Teo*_*ing 2 cocoa nswindow

我设法使用CGWindowListCopyWindowInfo获取桌面上的窗口列表,但下一次是尝试获取窗口的属性,如程序名称,标题和其他属性.

我应该查看什么API,我们有关于如何做到这一点的任何示例?

Ann*_*nne 8

列出窗口并在循环时检索特定信息:

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);
}
Run Code Online (Sandbox Code Playgroud)

可用键:

kCGWindowIsOnscreen
kCGWindowLayer 
kCGWindowMemoryUsage
kCGWindowName
kCGWindowNumber
kCGWindowOwnerName
kCGWindowOwnerPID
kCGWindowSharingState
kCGWindowStoreType
Run Code Online (Sandbox Code Playgroud)