使用Python在Mac OS X中查找当前活动窗口

有没有办法在Mac OS X上使用Python在给定时间找到当前活动窗口的应用程序名称?

解决方法:

这应该工作:

#!/usr/bin/python

from AppKit import NSWorkspace
activeAppName = NSWorkspace.sharedWorkspace().activeApplication()['NSApplicationName']
print activeAppName

只适用于Leopard,或者如果安装了PyObjC,就可以使用Tiger,并且碰巧指向第一行中的正确python二进制文件(如果你安装了通用的MacPython,那么你可能想要对Tiger进行操作).但是Peter用Carbon的方式回答这个问题可能要快一些,因为在Python中从AppKit导入任何内容需要一段时间,或者更准确地说,在Python过程中第一次从AppKit导入内容需要一段时间.

如果你需要在PyObjC应用程序中使用它,我所描述的将会非常快速地工作,因为你只会遇到导入AppKit一次的延迟.如果您需要它作为命令行工具,您会注意到性能受到影响.如果这与您相关,那么最好使用Peter的代码作为起点,在Xcode中构建一个10行的Foundation命令行工具.

上一篇:带有范围的pyobjc索引访问器方法


下一篇:python – Cocoa – 嵌套循环的最大深度?