怎么可能取消选择这个窗口?
使用 Swift/Obj-C/Applescript 之类的。但不改变鼠标位置
我的进度是这样的,我达到了任务控制窗口的属性 AXSelectedChildren。下面的代码
for entry in (CGWindowListCopyWindowInfo(CGWindowListOption.optionOnScreenOnly, kCGNullWindowID) as NSArray? as? [[String: AnyObject]])!
{
if entry[kCGWindowOwnerName as String] as! String == "Dock"
{
let bounds: NSDictionary = entry[kCGWindowBounds as String] as! NSDictionary
if (bounds["Y"] as! NSNumber) != 0{ //if Mission Control is Launched
let dockAppElement = AXUIElementCreateApplication((entry[kCGWindowOwnerPID as String] as? Int32)!)
var dockAttributeValues: AnyObject?
_ = AXUIElementCopyAttributeValue(dockAppElement, kAXChildrenAttribute as CFString, &dockAttributeValues)
var childrenRef = (dockAttributeValues as! [AXUIElement]).last // group 1 of Dock
_ = AXUIElementCopyAttributeValue(childrenRef!, kAXChildrenAttribute as CFString, &dockAttributeValues)
childrenRef = (dockAttributeValues as! [AXUIElement]).first // group 1 of group 1 of Dock
_ = AXUIElementCopyAttributeValue(childrenRef!, kAXChildrenAttribute as CFString, &dockAttributeValues)
childrenRef = (dockAttributeValues as! [AXUIElement]).first // group 1 of group 1 of group 1 of Dock
_ = AXUIElementCopyAttributeValue(childrenRef!, kAXSelectedChildrenAttribute as CFString, &dockAttributeValues)
if let selectedWindow = (dockAttributeValues as! [AXUIElement]).first{ // selected Children of group 1 of group 1 of group 1 of Dock
_ = AXUIElementCopyAttributeValue(selectedWindow, kAXTitleAttribute as CFString, &dockAttributeValues)
if let titleWindow = (dockAttributeValues as? String){print(titleWindow)}
}
else{ // if selectedChildren == nil
print("no windows selected")
}
break
}
}
}