热键
热键一般搭配线程来使用,下面我们使用线程池来使用热键:
from concurrent.futures import ThreadPoolExecutor
from pynput import keyboard
def getHwnd(self):
print('你好')
def keyboardListen(self):
keyboard.add_hotkey('1', getHwnd)#按下热键1,就运行getHwnd方法
keyboard.wait('`') # 按下热键 ` 结束热键监听
with ThreadPoolExecutor(1) as executor2: # 开启2个线程,需要跟括号的2对应,此处不可以用协程
executor2.submit(keyboardListen) # 键盘监听线程,运行keyboardListen方法
键盘监听
监听事件:
from pynput import keyboard
# 键盘输入监听
def keyboardListener(self):
while True:
with keyboard.Listener(on_press=self.on_press, on_release=self.on_release) as listener:
listener.join()
def on_press(self,key):
print('按下了:',key)
def on_release(self,key):
print('松开了',key.char)
if key.char=='1':
print('事件1')
return False
elif key.char=='2':
print('事件2')
return False
调用:
keyboardListener()
最后,热键和键盘监听实现的功能都一样,这里推荐使用热键