Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos AppleScript-系统事件错误:禁用对辅助设备的访问_Macos_Applescript - Fatal编程技术网

Macos AppleScript-系统事件错误:禁用对辅助设备的访问

Macos AppleScript-系统事件错误:禁用对辅助设备的访问,macos,applescript,Macos,Applescript,我对AppleScript和系统事件有问题 我在系统首选项的“通用访问”首选项窗格中选中了“启用辅助设备的访问” 当我尝试时: arch-i386 osascript-e'告诉应用程序“系统事件”,以获取每个进程的每个窗口的位置' 我有一个错误: 系统事件获取错误:禁用对辅助设备的访问。(-25211) 你知道吗 非常感谢问题不在于辅助设备。当AppleScript试图访问一个进程的窗口时,它似乎错误地返回了错误代码,而这个进程从来没有任何窗口(在我的例子中,它是“Google Chrome H

我对AppleScript和系统事件有问题

我在系统首选项的“通用访问”首选项窗格中选中了“启用辅助设备的访问”

当我尝试时:

arch-i386 osascript-e'告诉应用程序“系统事件”,以获取每个进程的每个窗口的位置'

我有一个错误:

系统事件获取错误:禁用对辅助设备的访问。(-25211)

你知道吗


非常感谢

问题不在于辅助设备。当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
从命令行运行脚本,您还需要将终端添加到支持辅助功能的应用程序中。