在作为Windows服务运行时检查空闲时间

时间:2011-11-21 08:01:16

标签: python winapi windows-services python-idle

使用win32api.GetLastInputInfo()是确定USERS空闲时间的简便方法。但是,作为SERVICE运行时,这不适用(始终返回0)。

有没有人知道WINDOWS SERVICE确定最后一次按键/鼠标活动的简单方法? (或确定空闲时间的其他一些有效方法)

1 个答案:

答案 0 :(得分:1)

不是在Python中,但http://www.codeproject.com/KB/DLL/trackuseridle.aspx中提出的方法看起来很有趣。

[编辑] 代码它是一个标准的C DLL,所以你应该能够将它与ctypes一起使用。使用SetWindowsHookEx编写C代码的方式意味着你可以直接用Python + pywin32重写它。有关详细信息,请参阅stackoverflow.com/questions/6458812和python-forum.org/pythonforum/viewtopic.php?f=2&t=11154(第一个链接提到了您可以在不编写DLL的情况下获得的各种事件,以及其他显示了一个python示例)。