如何解决回调中的延迟导致 PyHook 中未调用其他回调
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 举报,一经查实,本站将立刻删除。