2013-09-22 55 views
1

我試圖從啓用了SandBoxing的應用程序訪問MAC OS X(Mountain Lion)中進程的窗口列表。但AXUIElementCopyAttributeValue API由於Error "kAXErrorCannotComplete"而失敗。它正在工作,如果我禁用「沙盒」無法獲取Mountain Lion上的進程的窗口列表

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

if (app) { 

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

} 

windows數組正在返回零。

我們非常感謝您在這方面的幫助。

回答

0

試試這個

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

然後針對特定應用程序的窗口

的濾鏡陣列
相關問題