我的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
但这不起作用!
感谢您的帮助!
答案 0 :(得分:0)
在Mac OS X 10.6(AppleScript 2.1.2)上,description
window
(application process
'条款)的System Events
属性为"dialog"
如果窗口小型化(在Dock中),以及其他一些值(例如"standard window"
,但根据应用程序可能会有所不同),如果它没有小型化。
当应用程序完全隐藏时(使用cmd+H
或应用程序菜单中的“隐藏”命令),所有窗口将被隐藏,无论它们是否小型化,所以要查明它是否隐藏,请使用
visible of application process "<ProcessName>"
隐藏应用程序时false
。要取消隐藏它,请将该属性设置为true
。
要找出当前关注的应用程序的哪个窗口(最前面/活动),请使用
window 1 of application process "<ProcessName>"
应用程序的窗口列表(由windows of application process...
返回)按垂直堆栈排序:最前面的窗口是第一个,后面的窗口是第二个,依此类推。
由于在OS X中,一次只有一个应用程序位于最前面,并且只有一个窗口位于前台,因此您将进入当前关注的窗口:
window 1 of (first application process whose frontmost is true)