5

我是 AppleScript 的新手,并且正在深入研究 UI 脚本。我正在尝试为程序 TypeIt4Me 创建一个脚本,该程序是一个不支持 AppleScript 的菜单栏实用程序(文本扩展)。

我提议的脚本将利用系统事件单击其菜单栏图标,向下键入五次,一次,然后返回。但是,AppleScript 在单击图标和执行第一次击键之间会暂停很长时间,以至于这作为脚本是不切实际的。以下是具有第一次单击和向下按的版本。

tell application "System Events"

click menu bar item 1 of menu bar 2 of application process "TypeIt4Me"
key code 125 -- ie "down"

end tell

这可能是我的代码有问题吗?某处的设置?一般的AppleScript?谢谢。

4

2 回答 2

2

您的脚本也需要大约 5 秒才能为我运行。不过,这样的延误并不常见。

这使脚本在大约 0.05 秒后返回,但我不知道如何在没有延迟的情况下运行关键代码命令。

ignoring application responses
    tell application "System Events" to tell process "TypeIt4Me"
        click menu bar item 1 of menu bar 2
    end tell
end ignoring

这也不起作用:

with timeout of 0.2 seconds
    try
        tell application "System Events" to tell process "TypeIt4Me"
            click menu bar item 1 of menu bar 2
        end tell
    end try
end timeout
tell application "System Events"
    key code 125
end tell

在命令之间终止系统事件确实有效:

ignoring application responses
    tell application "System Events" to tell process "TypeIt4Me"
        click menu bar item 1 of menu bar 2
    end tell
end ignoring
do shell script "killall System\\ Events"
delay 0.1
tell application "System Events"
    key code 125
end tell
于 2013-05-04T11:36:48.707 回答
0

你点击什么图标?你的意思是双击?也许您的意思是“启动脚本”?如果您的意思是您的脚本需要很长时间才能真正开始运行,这是 AppleScript 的典型情况,不是由您的脚本引起的。如果 TypeIt4Me 可以运行应用程序而不是脚本,或者如果将脚本作为应用程序编译和运行是一种选择,那么您应该能够加快一点速度。它仍然需要一些时间来启动,但脚本不需要先编译。

于 2013-05-04T01:20:14.267 回答