AppleScript - 通过名称字符串获取应用程序

时间:2017-08-07 06:28:47

标签: macos applescript

此代码效果很好。

tell application "System Events"
    set bounds of window "File" of application "TextEdit" to {0, 0, 0, 0}
end tell

这段代码不起作用。如何解决这个问题?

tell application "System Events"
    set appName to "TextEdit"
    set bounds of window "File" of application appName to {0, 0, 0, 0}
end tell

1 个答案:

答案 0 :(得分:0)

你在谈论两件不同的事情。

  1. 访问可编写脚本的应用程序的元素和属性。
    在这种情况下,不需要System Events,但目标应用程序的名称必须是文字字符串(在编译时评估术语)。

    set bounds of window "File" of application "TextEdit" to {0, 0, 0, 0}
    
  2. 访问应用程序进程的UI元素的元素和属性(可编写脚本或不可编写脚本)。 在这种情况下,您必须使用System Events并指定应用程序进程。目标进程的名称可以在变量中传递。

    tell application "System Events"
        set appName to "TextEdit"
        tell process appName
           set bounds of window "File" to {0, 0, 0, 0}
        end tell
    end tell
    
  3. 在这两种情况下,都不能保证目标应用程序或目标进程具有包含window属性的bounds元素。