Python: 在 PyHook 中使用定时器

Python: Using timer with PyHook

我试图在 运行 脚本时使用 PyHook 来禁用键盘和鼠标,但我在设置定时器功能时遇到了困难,这样键盘和鼠标只会在预定义的时间内被禁用,例如30秒,然后return就正常了。

def windoow(event):
    while True:
        return False
        time.sleep(30)
        break

hm = pyHook.HookManager()
hm.MouseAll = windoow
hm.KeyAll = windoow
hm.HookMouse()
hm.HookKeyboard()
pythoncom.PumpMessages()

总的来说,我是编程新手,因此我希望有一个简单的解决方案,我可以从中学习和理解。

谢谢。

嗯,这很邪恶,但确实有效。您的 time.sleep() 从未执行过,因为它被放置在 return 语句

之后
import pythoncom, pyHook, time
start = time.time()
time.clock()
elapsed = 0

def windoow(event):
    global elapsed
    if elapsed < 30:
       elapsed = time.time() - start
       time.sleep(1)
       return False

    return True

hm = pyHook.HookManager()
hm.MouseAll = windoow
hm.KeyAll = windoow
hm.HookMouse()
hm.HookKeyboard()
pythoncom.PumpMessages()