1

我有一些基于 Java 的应用程序似乎在使用(在某种程度上)本机窗口,并带有熟悉的窗口管理按钮甚至全屏模式按钮。但是,我似乎无法使用传统方式从 AppleScript 访问这些窗口。有没有办法做到这一点?

目前我有一个在本机可可应用程序上运行良好的现有脚本,但是当它尝试访问 Java 应用程序的窗口时,它没有找到任何脚本(计算窗口数将返回 0)。

以 IntelliJ IDEA 为例。我如何访问各个窗口以便对它们执行操作(比如单击最小化或全屏按钮)?

更新: 这是一个适用于可可应用程序的快速示例,但不适用于 Java 应用程序。在这种情况下,我收到消息“每个窗口都不理解计数消息”

tell application "Safari"
    activate
    set wins to count of windows
    display dialog wins
end tell
4

1 回答 1

1

您可以告诉应用程序执行您正在尝试的操作的唯一时间是该应用程序是否是可编写苹果脚本的,例如它是否有一个applescript 字典并且该字典是否具有您需要的命令。我怀疑您的 java 应用程序是可编写脚本的,因此这种方法行不通。

你很幸运,你需要一个窗口命令,因为系统事件理解窗口命令,并且通常可以给你进程的窗口。尝试这个。只需将进程名称更改为您想要的进程,看看它是否有效。如果没有的话,applescript 就没有什么可以帮助你的了。

tell application "System Events"
    tell process "Safari"
        set wins to count of windows
    end tell
end tell
display dialog (wins as text)

仅供参考:如果您需要找到您的申请流程的名称,您可以使用它...

tell application "System Events" to return name of application processes
于 2012-09-25T15:33:17.627 回答