微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在鼠标事件的 Pyhook 回调方法中返回 False 不会暂停应用程序

如何解决在鼠标事件的 Pyhook 回调方法中返回 False 不会暂停应用程序

根据 pyhook 中的文档,如果我们在回调中返回 False,消息将不会被传递回钩子回调链。如果我们这样做,鼠标点击/打字将被锁定,应用程序将无法正常工作/停止。以下小程序在运行时会停止鼠标左键单击所有 Windows 应用程序(记事本、资源管理器、Pycharm...)。但是,这不会发生在我们开发的应用程序(C#/C++)中。鼠标左键单击按预期工作。这可能是什么原因? Windows 本机应用程序和我们创建的应用程序之间可能有什么区别?

import PyHook3,pythoncom

class RecordMouseKeyboard:
   def __init__(self):
      pass

   def on_mouse_event_down(self,event):
      print("mouse down")
      return False
      #return True

   def on_keyboard_event_handler(self,event):
      print("key down")
      return False
      #return True

   def start_mouse_keyboard_logger(self):
      hm = PyHook3.HookManager()
      hm.HookMouse()
      hm.HookKeyboard()
      hm.MouseLeftDown = self.on_mouse_event_down
      hm.KeyDown = self.on_keyboard_event_handler
      pythoncom.PumpMessages()


if __name__ == "__main__":
    RecordMouseKeyboard().start_mouse_keyboard_logger()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。