跟踪焦点变化



我正试图在windows 10(64b)机器中使用python 3.7跟踪窗口焦点的变化(前台是什么应用程序),因为我想记录我使用每个应用程序的时间(我希望chrome是每个选项卡XD的不同应用程序)

我试着在网上搜索如何做,但没有找到(奇怪)。现在我了解到我必须安装win32api(pypiwin32),并且使用此代码我可以获得窗口的名称

from win32gui import GetWindowText, GetForegroundWindow
print(GetWindowText(GetForegroundWindow()))

这很好,但我不想每秒钟都循环一次,我希望有一个回调,当事件"onWindowFocusChange"或类似的东西被调用时,运行它。

编辑:正如大卫·赫夫曼指出的,我使用了错误的术语。我的意思是我在每一点上都要与之交互的软件。(如果屏幕被屏蔽,则无。如果我正在玩游戏和听音乐,游戏,如果我正在浏览器或阅读器上阅读网页或pdf,等等……希望这能澄清问题。

此处的示例代码记录所有焦点更改:https://gist.github.com/keturn/6695625

最新更新