python - 使用 Python 在 Mac OS X 中查找当前事件窗口

标签 python objective-c cocoa macos

有没有办法在 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/

相关文章:

python - 使用 Python 进行傅里叶变换

javascript - odoo 10 扫描条形码并开始操作

ios - kCATransitionPush 应用于从 UIImageview 滑入/滑出图像,没有淡入淡出/透明效果 iOS

ios - 从 ViewController 外部访问变量

cocoa - 将 NSImage 输出为 PDF 文件

python - 按嵌套列表的最高值对字典进行排序

python - 如何处理 scikit learn 模型中基数的变化

iphone - NSString-2位数字

objective-c - 界面生成器 : How to load view from nib file

objective-c - 我如何知道用户是否处于 Exposé 模式?