小编典典

如何在Windows,Linux和MacOS中通过Python确定显示空闲时间?

python

我想知道自用户上次敲键或移动鼠标以来已经有多长时间了-
不仅在我的应用程序中,而且在整个“计算机”(即显示器)上,以便猜测他们是否仍在计算机,并且能够观察屏幕上弹出的通知。

我只想从(Py)GTK
+进行此操作,但是我可以调用特定于平台的函数。理想情况下,我想调用已经从Python包装的函数,但是如果不可能,ctypes只要我知道我真正要寻找的是什么,我就不需要C或代码。

在Windows上,我认为我想要的功能是GetLastInputInfo,但是pywin32似乎并没有包装它;我希望我想念一些东西。


阅读 313

收藏
2021-01-20

共1个答案

小编典典

Gajim在Windows,OS X和GNU / Linux(和其他* nixes)上以这种方式进行操作:

  1. Python包装器模块(还包括Windows空闲时间检测代码,GetTickCount与一起使用ctypes);
  2. 基于Ctypes的模块以获取X11空闲时间(使用XScreenSaverQueryInfo,在旧的Gajim版本中为C模块);
  3. C模块获取OS X空闲时间(使用HIDIdleTime系统属性)。

这些链接是到过时的0.12版本,因此您可能需要检查当前来源以获取可能的进一步改进和更改。

2021-01-20