有没有办法在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命令行工具.