检测输入

时间:2018-12-28 01:19:15

标签: python

我正在尝试创建一个完全自动化的程序,该程序只有在计算机刚开始运行时正巧使用它时才会停止。为此,请在程序启动时等待10秒钟,以查看计算机是否处于空闲状态,如果空闲,则程序将继续运行。但是,如果执行某项操作,则会遇到中断它的问题。问题是,如果最后一次输入是0秒前,则我正在尝试中断循环,这意味着我在计算机上。但是,当我启动计时器时,它为0,因此会中断循环。

我尝试将time.sleep放在if语句和get last输入之间,但是它仍然从零开始。

def wait():
        while 1:
            GetLastInputInfo = int(get_idle_duration())
            time.sleep(1)
            if GetLastInputInfo == 0:
                break
            if get_idle_duration() > 10:
                warthunder()
                killProcess()
                break
        print('Done')

我希望程序等待10秒钟,并且如果我移动了鼠标或按下了某个键以使程序中断,则该

1 个答案:

答案 0 :(得分:0)

所以我知道了。这是更新的代码:

def wait():
        while 1:
            time.sleep(1)
            if get_idle_duration() == 0.0:
                break
            if get_idle_duration() > 10:
                warthunder()
                killProcess()
                break
        print('Done')

我得到了GetLastInput变量,并将第一个if语句更改为float