【问题标题】:AppKit not dynamically sensing the frontmost appAppKit 没有动态感知最前面的应用程序
【发布时间】:2018-08-24 08:37:38
【问题描述】:

我在 Python 中使用 Appkit 让计算机感知最前面的应用程序。一开始它会正确感知最前面的应用程序,但是当我更改最前面的应用程序并让终端运行时,它不会更新新信息。例如,以下代码将起作用:

from AppKit import NSWorkspace
active_app_name = NSWorkspace.sharedWorkspace().frontmostApplication().localizedName()

但现在假设我将 Chrome 而不是 Excel 作为最前面的应用程序并在终端上运行以下程序。然后终端打印'Chrome'后,我点击应用'Excel',终端会继续打印'Chrome',永远感觉不到Excel是最前面的应用。

from AppKit import NSWorkspace
while True:
    active_app_name = NSWorkspace.sharedWorkspace().frontmostApplication().localizedName()
    print (active_app_name)
    if active_app_name == 'Microsoft Excel':
        pass
        # do stuff
    else:
        time.sleep(5)

我希望 AppKit 在我更改最前面的应用程序时能够感知新的最前面的应用程序。

【问题讨论】:

    标签: python appkit


    【解决方案1】:

    为了让 active_app 动态更新,请使用以下代码:

    active_app = NSWorkspace.sharedWorkspace().activeApplication()
    

    【讨论】:

    • 简短的解释会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    相关资源
    最近更新 更多