初探hook的键盘获取

import pyHook
import pythoncom class e():
keyIsPressed = False #键盘是否按下 按住。。
def onKeyDow(self,event): #键盘按下
if self.keyIsPressed: #如果键盘持续性按住,不再打印文字
return True
print (str(event.Key) + ' is 按下')
self.keyIsPressed = True #按下第一次
if (event.Key == 'E'): #如果按下e 则打印Efalse 并返回false 此次键盘按下的e被拦截不执行
print(str(event.Key) + ' FALSE')
return False
return True def onKeyU(self,event):#键盘抬起
self.keyIsPressed=False
t_e=event.Key
print(str(t_e) + ' is 抬起')
if(t_e=='E'): #抬起的e不执行
# print(str(t_e) + ' FALSE')
return False
return True if __name__ == '__main__':
mykbmanager = e()
hookmanager = pyHook.HookManager() #创建一个钩子句柄
hookmanager.KeyDown = mykbmanager.onKeyDow
hookmanager.KeyUp = mykbmanager.onKeyU
hookmanager.HookKeyboard()#启动钩子
pythoncom.PumpMessages(10000)#用来维持住钩子,循环获取消息

  

最新文章

  1. redis3.2新增属性protected mode
  2. 实时监控log文件
  3. [转]JqueryEasyUI教程入门篇
  4. zw版【转发·台湾nvp系列Delphi例程】CheckDifference1
  5. LDR指令的格式:
  6. hdu 3661 Assignments(水题的解法)
  7. jQuery Mobile里xxx怎么用呀? (事件篇)
  8. 【HDOJ】1074 Doing Homework
  9. C语言怎么计算程序所花时间
  10. IOS-UI-UILable
  11. 报错:Failed to create BuildConfig class
  12. LINUX进程上锁查看方法
  13. Luogu P1522 牛的旅行 Cow Tours
  14. Survey项目总结
  15. HTTP协议学习笔记---HTTP持久连接和如何正确地关闭HTTP连接
  16. Wannafly挑战赛21 E 未来城市规划
  17. [No000014C]让大脑高效运转的24个技巧
  18. 预备作业3:Linux安装及命令入门
  19. bzoj 2084 Antisymmetry - Manacher
  20. 向java高级工程师和项目经理的道路进发【转】

热门文章

  1. 新手小白的Linux学习之路
  2. 深入理解计算机系统 第三章 程序的机器级表示 part2
  3. jvm与程序的生命周期
  4. Graphviz 画图的一些总结
  5. Mybatis精讲(二)---生命周期
  6. Java的String类详解
  7. SpringBoot系列教程Web篇之开启GZIP数据压缩
  8. centos7 防火墙屏蔽IP
  9. [UWP]用Win2D和CompositionAPI实现文字的发光效果,并制作动画
  10. PHP中16个高危函数