![](/img/trans.png)
[英]Applescript : Getting List of Id's of Visible windows ( windows shown on the desktop )
[英]Applescript - Get status of windows ( Visible or in the dock )
我的appleScript需要一些帮助。
对于所有打开的窗口,我想知道隐藏的是哪个窗口(在扩展坞中),可见的是哪个窗口以及聚焦的是哪个窗口?
要列出窗口,我使用:
tell application "System Events"
set procs to processes
set windowName to {}
repeat with proc in procs
try
if exists (window 1 of proc) then
repeat with w in windows of proc
copy w's name to the end of windowName
end repeat
end if
end try -- ignore errors
end repeat
end tell
return windowName
我尝试了集中属性:
copy w's focused to the end of windowName
和选定的属性:
copy w's selected to the end of windowName
但这不起作用!
感谢帮助!
在Mac OS X 10.6(AppleScript 2.1.2)上,如果窗口(在Dock中)被小型化,则application process
的window
的description
属性(以“ System Events
”的术语)为"dialog"
,而其他值(如"standard window"
,但如果未小型化,则可以根据应用程序而有所不同。
当一个应用程序完全隐藏时 (使用cmd+H
或应用程序菜单中的“隐藏”命令), 所有窗口都将被隐藏,无论它们是否被小型化,因此要找出是否被隐藏,请使用
visible of application process "<ProcessName>"
隐藏应用程序时为false
。 要取消隐藏,请将该属性设置为true
。
要找出当前应用程序的哪个窗口处于焦点(最前面/活动),请使用
window 1 of application process "<ProcessName>"
应用程序窗口的列表(由windows of application process...
的windows of application process...
返回windows of application process...
)由垂直堆栈排序:最前面的窗口是第一,后面的窗口是第二,依此类推。
由于在OS X中,一次仅一个应用程序位于最前面,而前台只有一个窗口,因此您将获得如下所示的当前焦点窗口:
window 1 of (first application process whose frontmost is true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.