im创建一个脚本,使脚本获得空闲时间并获得最后的鼠标/滑水板输入时间 在Windows中可以正常工作,但我无法使其在Linux上运行
class LASTINPUTINFO(Structure):
_fields_ = [
('cbSize', c_uint),
('dwTime', c_uint),
]
def get_idle_duration():
# get idle time
lastInputInfo = LASTINPUTINFO()
lastInputInfo.cbSize = sizeof(lastInputInfo)
windll.user32.GetLastInputInfo(byref(lastInputInfo))
millis = windll.kernel32.GetTickCount() - lastInputInfo.dwTime
return millis / 1000.0
print(get_idle_duration())
有人可以帮助我使此代码在linux和Windows中运行吗?
答案 0 :(得分:0)
您可以通过idle.py
引用Gajim只需调用 getIdleSec()
即可获取以秒为单位的空闲时间。
如果执行idle.py
,它会等待2.1秒,然后打印空闲时间。稍后它会释放保留的数据,之后如果您调用该函数,它将返回零。
问题中给出的代码的问题在于它使用了特定于 Windows 的 windll
。
如果您想以更详细的方式查看正在运行的脚本,您可以将 main
更改如下:
if __name__ == '__main__':
import time
for i in range(0,10):
print(getIdleSec())
close()
这适用于 Ubuntu,并且应该适用于所有基于 Debian 的操作系统。