有没有办法在 Mac OS X 上使用 Python 在给定时间查找当前事件窗口的应用程序名称?
最佳答案
这应该可行:
#!/usr/bin/python
from AppKit import NSWorkspace
activeAppName = NSWorkspace.sharedWorkspace().activeApplication()['NSApplicationName']
print activeAppName
仅适用于 Leopard 或 Tiger 如果您安装了 PyObjC 并且恰好在第一行指向正确的 python 二进制文件(如果您安装了通用 MacPython,则情况并非如此,您可能希望在 Tiger 上执行此操作)。但是 Peter 对 Carbon 方法的回答可能会快很多,因为在 Python 中从 AppKit 导入任何东西需要一段时间,或者更准确地说,在 Python 进程中第一次从 AppKit 导入一些东西需要一段时间。
如果您在 PyObjC 应用程序中需要它,我所描述的将非常有效且快速,因为您只体验一次导入 AppKit 的延迟。如果您需要它作为命令行工具工作,您会注意到性能下降。如果这与您相关,您最好使用 Peter 的代码作为起点,在 Xcode 中构建一个 10 行的 Foundation 命令行工具。
关于python - 使用 Python 在 Mac OS X 中查找当前事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/373020/