4

当我将外接显示器插入我的 Macbook 并唤醒它时,显示器的分辨率通常是错误的。在 Mountain Lion 之前,我能够运行以下 applescript 来检测显示器:

tell application "System Preferences" to activate
tell application "System Events"
    tell process "System Preferences"
        click menu item "Displays" of menu "View" of menu bar 1
        tell button "Detect Displays" of window 1 to click
    end tell
end tell
tell application "System Preferences" to quit

但是,在 10.8 中,“检测显示器”按钮要求您按Option键才能显示它,因此脚本会出现以下错误:

错误“系统事件出现错误:无法获取进程“系统偏好设置”的窗口 1 的“检测显示器”按钮。” 来自进程“系统偏好设置”窗口 1 的按钮“检测显示器”的编号 -1728

我的 applescript 技能还不够初级,而且我的 google-fu 并没有让我偶然发现答案。

如何修改脚本以单击现在隐藏的检测显示按钮?

4

1 回答 1

10

尝试这个...

tell application "System Preferences"
    activate
    reveal pane "com.apple.preference.displays"
end tell

delay 0.5

tell application "System Events"
    tell process "System Preferences"
        try --don't even consider not using a try block!
            key down option
            delay 0.2
            click button "Detect Displays" of window 1
            delay 0.2
            key up option
        on error --logging out is the only other way to clear these
            key up option
        end try
    end tell
end tell
于 2012-09-28T13:47:02.760 回答