在Mac OSX上查找当前聚焦的应用窗口

7 投票
2 回答
2836 浏览
提问于 2025-04-16 01:46

我正在写一个桌面使用统计的应用程序。这个程序会在后台运行,每隔一段时间就会醒来,找出当前聚焦的应用窗口的名称,并把这些数据记录到数据库里。

我在Linux桌面上用xprop这个工具成功实现了这个功能(你可以在这里找到它)。

那么在Mac OSX上,我该怎么做呢?有没有什么直接或间接的方法可以通过Python脚本来实现这个功能?(比如PyObjC?)

2 个回答

2

你可以用AppleScript来做到这一点:

获取当前活动窗口/文档的标题在Mac OS X中

你可以试试用appscript从Python生成AppleScript事件。

3

可以通过使用AppKit来获取当前活动窗口,方法如下:

from AppKit import NSWorkspace

workspace = NSWorkspace.sharedWorkspace()
active_app = workspace.activeApplication()['NSApplicationName']

撰写回答