【发布时间】:2010-09-14 04:34:26
【问题描述】:
我一直在尝试让另一个应用程序中的任何给定窗口成为最前面和最集中的窗口。
这是我尝试过的两种方法:
AppleScript
tell application "Safari"
set index of window "Downloads" to 1
activate
end tell
为什么它不起作用:虽然它似乎改变了 z-Order,但它并没有改变焦点!前一个最前面的窗口,即使被混淆,也会保持焦点。
CoreGraphicServices
CGSWindowOrder(cid, wid, kCGSOrderAbove, nil)
为什么它不起作用:如果不是通用所有者,您就无法更改另一个进程拥有的窗口的顺序。在这种情况下,让自己成为通用所有者不是一种选择——我不想废除 Dock。
回顾
我需要在最前面创建一个窗口,并将焦点从一个进程转移到另一个进程。 AppleScript 无法聚焦,并且 CGS 不是一个选项,因为我不拥有该窗口。
任何解决方案/想法?
【问题讨论】:
-
您是否找到了适用于今天的解决方案?没有启用辅助功能?
标签: macos applescript core-graphics