0

我正在尝试获取打开的窗口列表及其 PID。

这是我想出的代码:

CFArrayRef windowList = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);

if (windowList == nil || NULL)
    NSLog(@"The List is null");

for(NSMutableDictionary *entry in (__bridge NSArray *)windowList){
    NSString *ownerName = [entry objectForKey:(__bridge id)kCGWindowOwnerName];
    NSInteger ownerPID = [[entry objectForKey:( __bridge id)kCGWindowOwnerPID]integerValue];
    NSLog(@"%@:%ld",ownerName, ownerPID);
}

在我声明 ownerName 的那一行,我得到一个异常(线程 1:SIGBART)

我不知道出了什么问题.... CFArrayRef 不是 NULL/nil

4

1 回答 1

0

我认为你需要检查你的数组所有数据不是字典的形式。因此,您的所有者名称可能会出现在数组中,然后是 inaide 字典。Si 因为你得到了错误

于 2013-10-19T18:16:57.227 回答