Macos AppleScript-系统事件错误:禁用对辅助设备的访问
我对AppleScript和系统事件有问题 我在系统首选项的“通用访问”首选项窗格中选中了“启用辅助设备的访问” 当我尝试时: arch-i386 osascript-e'告诉应用程序“系统事件”,以获取每个进程的每个窗口的位置' 我有一个错误: 系统事件获取错误:禁用对辅助设备的访问。(-25211) 你知道吗Macos AppleScript-系统事件错误:禁用对辅助设备的访问,macos,applescript,Macos,Applescript,我对AppleScript和系统事件有问题 我在系统首选项的“通用访问”首选项窗格中选中了“启用辅助设备的访问” 当我尝试时: arch-i386 osascript-e'告诉应用程序“系统事件”,以获取每个进程的每个窗口的位置' 我有一个错误: 系统事件获取错误:禁用对辅助设备的访问。(-25211) 你知道吗 非常感谢问题不在于辅助设备。当AppleScript试图访问一个进程的窗口时,它似乎错误地返回了错误代码,而这个进程从来没有任何窗口(在我的例子中,它是“Google Chrome H
非常感谢问题不在于辅助设备。当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}、{31466}、{27,56}、{63,22}、{987,22}–这就是您试图得到的吗?在Mac OS X 10.9上,当AppleScript编辑器不允许使用可访问性时,您实际上会得到相同的错误 以下是如何启用它: 转到系统首选项安全和隐私隐私可访问性
然后,只需选中AppleScript编辑器左侧的复选框,错误就会消失。类似于本页关于Mac OS X 10.9(Mavericks)的文章,要在Mac OS X 10.8上解决此问题(也可能在早期版本的OS X上),您需要确保“启用辅助设备访问”选项已在系统首选项的辅助功能窗格中启用
谢谢,我会试试这个。最后一个问题,我如何确定窗口是在dock(隐藏)还是在前面?如果通过
osascript
从命令行运行脚本,您还需要将终端添加到支持辅助功能的应用程序中。