运行检测显示器的 Applescript [英] Applescript to run Detect Displays

查看:31
本文介绍了运行检测显示器的 Applescript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I plug an external monitor into my Macbook and wake it, the display is often the wrong resolution. Prior to Mountain Lion, I was able to run the following applescript to detect displays:

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 键才能显示它,因此脚本会出现以下错误:

But, with 10.8, the "Detect Displays" button requires that you press the Option key to display it, and so the script gives the following error:

错误系统事件出错:无法获取按钮\"检测显示进程的窗口 1 的系统偏好设置".数字-1728 来自进程系统偏好设置"的窗口 1 的检测显示"按钮

error "System Events got an error: Can’t get button \"Detect Displays\" of window 1 of process \"System Preferences\"." number -1728 from button "Detect Displays" of window 1 of process "System Preferences"

我的 Applescript 技能还不够初级,我的 google-fu 还没有让我偶然发现答案.

My applescript skills are less than rudimentary and my google-fu has not enabled me to stumble across an answer.

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

推荐答案

试试这个...

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

这篇关于运行检测显示器的 Applescript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆