PyHook3基础介绍
PyHook3 包为 Windows 中的全局鼠标和键盘事件提供回调。Python 应用程序为用户输入事件注册事件处理程序,例如鼠标左键按下、鼠标左键弹起、按键按下等,并设置键盘和/或鼠标挂钩。底层 C 库报告事件时间、事件发生窗口的名称、事件值、任何键盘修饰符等信息。
PyHook3下载安装
下方链接博主进行了非常好的介绍,在此不再赘述
https://www.cnblogs.com/Denon-CAT/p/12771357.html
PyHook3获取组合键代码
PyHook可以用于获取键盘以及鼠标的操作,可以搜到很多常用的初始化代码,使用非常的便捷,但是对于组合按键的处理资料不是很多,需要自己写一些规则,现提供一个初始化模板代码供大家参考使用。
import PyHook3
import pythoncom
class KeystrokeWatcher():
def __init__(self):
self.hm = PyHook3.HookManager()
self.hm.KeyDown = self.on_key_down
self.hm.KeyUp = self.on_key_up
self.hm.HookKeyboard()
self.keys_held = set()
def get_key_combo_code(self):
return '+'.join([PyHook3.HookConstants.IDToName(key) for key in self.keys_held])
def on_key_down(self, event):
try:
self.keys_held.add(event.KeyID)
finally:
return True
def on_key_up(self, event):
# change id to key
key_combination = self.get_key_combo_code()
try:
if key_combination == 'Rcontrol+Rmenu+7' or key_combination == 'Lcontrol+Lmenu+7':
# [TODO]
finally:
self.keys_held.clear()
return True
def shutdown(self):
self.hm.UnhookKeyboard()
if __name__ == '__main__':
key_watch = KeystrokeWatcher()
pythoncom.PumpMessages()