我创建了一个应用程序,用于pyobjc监视我正在使用的当前应用程序或当前 URL(如果正在使用 Safari/Chrome)。我使用以下方式获得最前面的应用程序:
active_app_name = NSWorkspace.sharedWorkspace().frontmostApplication().localizedName()
Run Code Online (Sandbox Code Playgroud)
它在每秒检索信息的循环中运行。然而,考虑到我可能会丢失信息超过 30 秒,这个解决方案似乎效率很低。
我想知道是否有使用事件的解决方案,即有一个观察者在当前最前面的应用程序发生变化时进行侦听。
我找到了这个答案Mac OS X - How to Monitor a window change event? ,但有两个问题:1.我只需要有关应用程序的信息,而不需要有关特定窗口的信息,2.我不知道如何将这些消息转换为Python代码。
AppleScript 解决方案是合适的,因为我可以使用osascript.
谢谢!
| 归档时间: |
|
| 查看次数: |
838 次 |
| 最近记录: |