问题描述
import pyWinhook as pyHook
import time
def OnMouseEventLeft(event):
print('MessageName: %s' % event.MessageName)
time.sleep(2) //Intentional delay
print("------")
return True
def OnKeyboardEvent(event):
print('Key: %s' % event.Key)
print('---')
return True
hm = pyHook.HookManager()
hm.MouseLeftDown = OnMouseEventLeft
hm.KeyDown = OnKeyboardEvent
hm.HookMouse()
hm.HookKeyboard()
if __name__ == '__main__':
import pythoncom
pythoncom.PumpMessages()
在上面的代码中,如果我们延迟一个回调(OnMouseEventLeft),为什么会影响另一个回调(OnKeyboardEvent)。当我运行此代码时,如果我在记事本中单击并键入一个字符(在 2 秒内快速),则不会调用键盘回调(OnKeyboardEvent)。我阅读了 pyhook 中的文档,其中提到应尽快返回回调,否则可能会对当前回调链造成不良影响。但是,在这种情况下,效果似乎可以在下一个回调链中看到。 什么可能导致这种情况?这是预期的吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)