繁体   English   中英

Applescript-获取Windows的状态(可见或在扩展坞中)

[英]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 processwindowdescription属性(以“ 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM