1

我正在尝试从启用沙盒的应用程序访问 MAC OS X (Mountain Lion) 中进程的窗口列表。但是 AXUIElementCopyAttributeValue API 失败并显示Error "kAXErrorCannotComplete". 如果我禁用“沙盒”,它就可以工作

AXUIElementRef app = AXUIElementCreateApplication([[CGWindowInfo objectForKey:(NSString*)kCGWindowOwnerPID] unsignedIntValue]);

if (app) {

    NSArray* windows = nil;
    AXError error = AXUIElementCopyAttributeValue(app, kAXWindowsAttribute, (CFTypeRef*)&windows);

}

windows 数组返回 nil。

非常感谢您在这方面的帮助。

4

1 回答 1

0

试试这个

 CGWindowListCreate( kCGWindowListOptionOnScreenOnly,    kCGNullWindowID);
 CFArrayRef aWindowsInfoArrayRef = CGWindowListCreateDescriptionFromArray(aArrayRef);

然后过滤特定应用程序窗口的数组

于 2014-01-09T00:11:53.000 回答