[英]Python get idle duration
我正在制作一個獲得空閑持續時間的腳本,以獲得最后一個鼠標/kayboard 輸入時間,並且在 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 中運行嗎?
只需調用getIdleSec()
即可獲得以秒為單位的空閑時間。
如果執行idle.py
,它將等待 2.1 秒,然后打印空閑時間。 稍后它會釋放保存的數據,之后如果您調用 function,它將返回零。
問題中給出的代碼的問題在於它使用了特定於windll
的 windll。
如果您想以更詳細的方式查看運行中的腳本,可以按如下方式更改main
:
if __name__ == '__main__':
import time
for i in range(0,10):
print(getIdleSec())
close()
這適用於 Ubuntu 並且應該適用於所有基於 Debian 的操作系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.