【问题标题】:Getting a List of Opened Windows Error获取打开的 Windows 错误列表
【发布时间】:2013-10-17 01:57:35
【问题描述】:

我正在尝试获取打开的窗口及其 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

【问题讨论】:

    标签: macos cocoa nsarray


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多