我遇到AppleScript和系统事件的问题。
我在“系统偏好设置”的“通用访问”偏好设置面板中选中了“为辅助设备启用访问权限”。
当我尝试:
arch -i386 osascript -e'告诉应用程序“系统事件”以获取每个进程的每个窗口的位置'
我有这个错误:
你知道吗?系统事件出错:禁用辅助设备访问权限。 (-25211)
非常感谢
答案 0 :(得分:10)
在Mac OS X 10.9上,当 AppleScript编辑器不允许使用辅助功能时,实际上会出现同样的错误。
以下是启用它的方法:
转到系统偏好设置> 安全&隐私> 隐私>的辅助功能强>
然后,只需选中 AppleScript编辑器左侧的复选框,错误即告消失。
答案 1 :(得分:8)
问题不在于辅助设备。当AppleScript尝试访问一个永远不会有任何窗口的进程的窗口时,它似乎错误地返回了该错误代码(在我的情况下,它是“Google Chrome Helper”)。
你需要抓住错误。这对我有用:
tell application "System Events"
set procs to processes
set windowPositions to {}
repeat with proc in procs
try
if exists (window 1 of proc) then
repeat with w in windows of proc
copy w's position to the end of windowPositions
end repeat
end if
end try -- ignore errors
end repeat
end tell
return windowPositions
返回一个坐标对列表,例如{{1067,22},{31,466},{27,56},{63,22},{987,22}} - 就是你正在尝试的得到?
答案 2 :(得分:1)
与此页面上关于Mac OS X 10.9(Mavericks)的帖子类似,要在Mac OS X 10.8上解决此问题(也可能在早期版本的OS X上),您需要确保“启用访问权限” “辅助设备”选项已在“系统偏好设置”的“辅助功能”窗格中启用。