Macos 如何列出OSX中运行程序的所有窗口标题?
我知道如何在Windows中列出所有窗口标题,例如使用Python。或者最终我可以直接用C/C++编写它Macos 如何列出OSX中运行程序的所有窗口标题?,macos,bash,shell,user-interface,operating-system,Macos,Bash,Shell,User Interface,Operating System,我知道如何在Windows中列出所有窗口标题,例如使用Python。或者最终我可以直接用C/C++编写它 如何在Mac OS X上实现这一点?它不一定是Python语言,也不一定是跨平台的。最好是在不需要任何额外下载的情况下运行(如仅使用包含的命令的applescript文件或bash文件),但这不是必需的。可能“无需额外下载”的最简单方法是使用applescript: tell application "System Events" get name of every window o
如何在Mac OS X上实现这一点?它不一定是Python语言,也不一定是跨平台的。最好是在不需要任何额外下载的情况下运行(如仅使用包含的命令的applescript文件或bash文件),但这不是必需的。可能“无需额外下载”的最简单方法是使用applescript:
tell application "System Events"
get name of every window of every process
end tell
由于Applescript语法非常迟钝,因此等效的Javascript是:
var SE = new Application("System Events");
SE.processes.windows.name()
这将返回表单的结构:
[[], [], ["Stack Overflow"], ["iTunes", "MiniPlayer"], ...]
其中,每个数组项表示一个正在运行的应用程序,这些数组中的每个字符串表示一个窗口。空数组表示没有打开窗口的应用程序
(请注意,此Javascript必须在脚本编辑器中运行,而不是在web浏览器中运行。。脚本桥的组件(包括系统事件)无法从web浏览器中获得。)执行此操作的最简单方法可能是“无需额外下载”使用AppleScript:
tell application "System Events"
get name of every window of every process
end tell
由于Applescript语法非常迟钝,因此等效的Javascript是:
var SE = new Application("System Events");
SE.processes.windows.name()
这将返回表单的结构:
[[], [], ["Stack Overflow"], ["iTunes", "MiniPlayer"], ...]
其中,每个数组项表示一个正在运行的应用程序,这些数组中的每个字符串表示一个窗口。空数组表示没有打开窗口的应用程序
(请注意,此Javascript必须在脚本编辑器中运行,而不是在web浏览器中运行。。脚本桥的组件(包括系统事件)不能从web浏览器中获得。)空数组也可能属于其他桌面上有windows的进程,对吗?是否有任何方法可以获取所有进程中所有窗口的名称?@AlokMysore系统事件与多个桌面交互的方式很奇怪。其他桌面上的Windows有时可见,有时不可见…我不知道如何描述它,除了“buggy”。空阵列也可能属于其他桌面上有Windows的进程,对吗?是否有任何方法可以获取所有进程中所有窗口的名称?@AlokMysore系统事件与多个桌面交互的方式很奇怪。其他桌面上的窗口有时是可见的,有时是不可见的……除了“buggy”之外,我不知道如何描述它。