【发布时间】: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 在我更改最前面的应用程序时能够感知新的最前面的应用程序。
【问题讨论】: