python根据键盘输入进行相应操作


上篇文章介绍了如何利用pyhook模块监听鼠标键盘的事件,接下来如果需要通过监听的事件内容,来做对应的操作,需要对event的内容进行相应的判断。

如果仅仅通过event.key来进行判断,可以写成str(evnet.key) == 'F12'等,如果需要退出,则添加一句win32api.PostQuitMessage()即可,在此注意,需要import win32api

但是由于目前需求,不仅仅只是在获取到特定的键值之后退出,而需要在某些其他的键值进行相应的操作,所以对应的,有想到用下面的代码:

def onKeyboardEvent(event):
	if str(event.Key)=='F12':
		DELAY = 1
	elif str(event.Key)=='F11':
		INDEX = 1
		win32api.PostQuitMessage()
	return True

 尝试之后会报错,但是如果判断条件中有win32api.PostQuitMessage(),那么就不会报错,错误的原因应该是第一个if语句中没有这么一句,经过单独尝试,如果没有win32api.PostQuitMessage()这一句,确实是无法执行的,在网上搜索了之后,也找不到对应的答案,最终决定采用另外一种方法:

def onKeyboardEvent(event):
	if str(event.KeyID)=='122':
		global DELAY
		DELAY = 1
	if str(event.KeyID)=='123':
		global INDEX
		INDEX = 1
		win32api.PostQuitMessage()
	return True

 采用event.KeyID就可以实现需求,进行多次判断,目前还未确定不能使用event.Key的原因,但上述方法需要进行KeyID的获取,此段代码的意图为F11键的时候,进行DELAY = 1的赋值操作,为F12时退出。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM