【发布时间】:2013-01-24 07:14:35
【问题描述】:
如何使用 applescript 将焦点设置到给定应用程序的特定窗口?
我有几个 iTerm2 窗口在不同的显示器上运行。我想使用 applescript 将焦点设置到指定窗口。
我需要两件事,一个收集窗口 ID 并将它们打印到标准输出的脚本。我有这个:
tell application "iTerm"
set wins to id of every window
end tell
打印 6 个整数:3034、2528、-1、-1、-1、-1
额外问题:四个 -1 是什么?
那我试试:
tell application "System Events"
activate window 3034
end tell
唯一发生的事情是我失去了当前终端(我正在输入这些命令)的焦点,无论我将 ID 指定为 3034 还是 2528。
【问题讨论】:
-
查看this question on Ask Different;如果你将
perform action "AXRaise" of someWindow与tell application "The Application" to activate结合起来,你会得到你想要的。但需要注意的是(以及这不是答案的原因)是您似乎无法以这种方式通过窗口 ID 指定窗口(这是有道理的,好像我理解正确,窗口 ID 是特定于应用程序的)。额外的问题:-1 可能是诸如偏好/查找对话框之类的东西,它可能是可见的,也可能是不可见的。
标签: applescript