检查作为Windows服务运行时的空闲时间
使用win32api.GetLastInputInfo()可以很简单地获取用户的空闲时间。但是,当它作为一个服务运行时,这个方法就不管用了(总是返回0)。
有没有人知道一个简单的方法,让WINDOWS服务能够判断最后一次键盘按键或鼠标活动的时间?(或者有什么其他有效的方法来确定空闲时间)
1 个回答
1
虽然这不是在Python中,但在这个链接中提到的方法看起来很有意思。
[编辑] 这个代码是一个标准的C语言动态链接库(DLL),所以你应该可以用ctypes来使用它。C代码中使用的SetWindowsHookEx
这个函数,意味着你也许可以直接用Python和pywin32来重写它。想了解更多,可以看看stackoverflow.com/questions/6458812和python-forum.org/pythonforum/viewtopic.php?f=2&t=11154(第一个链接提到了一些你可以在不写DLL的情况下获取的事件,另一个则展示了一个Python的例子)。