Python获取空闲持续时间

2024-04-26 03:58:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个脚本,获取空闲持续时间获取最后一次鼠标/皮艇板输入时间 在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中运行吗


Tags: 脚本getlinuxwindows空闲持续时间durationuint
1条回答
网友
1楼 · 发布于 2024-04-26 03:58:10

你可以通过Gajim引用idle.py

只需调用getIdleSec()即可获得以秒为单位的空闲时间

如果执行idle.py,它将等待2.1秒,然后打印空闲时间。稍后,它将释放保留的数据,之后如果调用该函数,它将返回零

问题中给出的代码的问题是,它使用了特定于Windows的windll

如果希望以更详细的方式查看正在运行的脚本,可以更改main,如下所示:

if __name__ == '__main__':
    import time
    for i in range(0,10):
        print(getIdleSec())
    close()

这可以在Ubuntu上运行,应该可以在所有基于Debian的操作系统上运行

相关问题 更多 >

    热门问题