最佳使用方法:告诉应用程序“系统事件”

时间:2013-12-03 00:20:59

标签: applescript tell

我在考虑将此语句用于GUI脚本的最佳方法是什么:

tell application "System Events"

有任何区别
tell application "System Events"
   tell process "Finder"
   -- do something with the GUI
   end tell
end tell

tell application "Finder"
   tell application "System Events"
   -- do something with the GUI
   end tell
end tell

此外,似乎“进程”语句可以访问GUI,而应用程序则不能。

2 个答案:

答案 0 :(得分:1)

好像你回答了自己的问题。第一个例子有效并且是正确的,第二个例子不起作用,不应该使用。

答案 1 :(得分:0)

如果你写

tell application "Finder"
  tell application "System Events"

  end tell
end tell

只要您需要“系统事件”告诉结构,您需要保持“Finder”告诉结构打开。这可能会破坏您的代码,如果多个应用程序具有冲突的命令,则可能会导致问题。

“系统事件”很少或从不与任何事物发生冲突,而且需要相对频繁。拥有一个非常长的“系统事件”告诉结构是有意义的,但是拥有一个非常长的“Finder”告诉结构是没有意义的。

您是否使用流程或应用程序与它无关。两者都可以访问GUI脚本,但您可能需要系统事件来控制除Finder之外的应用程序。