我使用Time Tracker For Mac作为我的时间跟踪器。它有一个菜单栏项,我希望能够通过键盘快捷键访问它。
我找到了一种用GUI脚本点击项目的方法:
tell application "System Events" to tell process "Time Tracker"
click menu bar item of menu bar 2
end tell
不幸的是,除非我在菜单上操作(即按Enter或Esc键),否则脚本不会返回成功。所以如果我想触发向下箭头键......
tell application "System Events" to tell process "Time Tracker"
click menu bar item of menu bar 2
-- hangs here forever until menu is closed
tell application "System Events" to key code 124
end tell
脚本永远等待。如果我点击“退出”,菜单栏项将关闭,然后只会触发向下箭头键。
这很奇怪。我只需要单击菜单栏项而不是阻止进一步的脚本执行。
有什么建议吗?
答案 0 :(得分:2)
对我来说,click命令在大约5秒后返回。一种解决方法是使用忽略应用程序响应并终止系统事件:
ignoring application responses
tell application "System Events" to tell process "Time Tracker"
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" to tell process "Time Tracker"
tell menu bar item 1 of menu bar 2
click menu item 2 of menu 1
end tell
end tell
相关问题:
答案 1 :(得分:1)
实际上,向下箭头的关键代码似乎是125.试试这个:
tell application "System Events" to tell process "Time Tracker"
click menu bar item of menu bar 2
key code 125
key code 36
end tell
点击菜单栏...命令后有一个短暂的延迟(几秒钟),我不知道为什么。