こんにちはすべて私はx秒間アイドル状態になっていると自動的にコンピュータを再起動する.pywスクリプトを書いています。何らかの理由で、スクリプトは実際にアイドル状態の秒数を実際にカウントするのではなく、idleTimeの値0.328を返します。本当にこの問題はので、ここでどこにあるか確認してください私のコードはPython自動PC再起動
import os
import datetime
from ctypes import Structure, windll, c_uint, sizeof, byref
#Script will automatically restart computer at 4 am unless user
#hits abort button.
os.system("start C:/Users/alexa/Desktop/test.txt")
#checks how long user has been idle for
class LASTINPUTINFO(Structure):
_fields_ = [
('cbSize', c_uint),
('dwTime', c_uint),
]
def get_idle_duration():
lastInputInfo = LASTINPUTINFO()
lastInputInfo.cbSize = sizeof(lastInputInfo)
windll.user32.GetLastInputInfo(byref(lastInputInfo))
millis = windll.kernel32.GetTickCount() - lastInputInfo.dwTime
return millis/1000.0
idleTime = get_idle_duration()
while(idleTime <= 30):
print(idleTime)
if(idleTime >= 30):
os.system("shutdown")