Windows键盘事件需要整数

时间:2016-09-01 15:02:21

标签: python keyboard

我试图在Windows 7机器上的python中获得键盘输入。这是我的代码:

import win32
import win32console
import win32gui
import pythoncom, pyHook

win = win32console.GetConsoleWindow()

def OnKeyBoardEvent(event):
    if (event is None or event.Ascii is None):
        exit(1)
    print(chr(event.Ascii))


hm = pyHook.HookManager()
hm.KeyDown = OnKeyBoardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()

当我在我的cmd控制台中启动脚本时,会发生以下奇怪的行为:

  1. 我按下任何字符,例如a d => a d也出现在控制台中
  2. 我按下另一个键,我收到此错误消息:

    追踪(最近一次通话):   文件" C:\ Python34 \ lib \ site-packages \ pyHook \ HookManager.py",第351行,在Keybo中 ardSwitch     return func(event)   在OnKeyBoardEvent中的文件" code.py",第14行     打印(事件) TypeError:需要一个整数(获取类型NoneType)

    1. 此后我按下另一个键,显示两个键(步骤2和步骤3中的键)。
  3. 此后第2步和第3步交替显示错误信息,显示两个字符,错误信息,两个字符都显示等等。

    这里发生了什么?我错过了什么?

    感谢您提供任何帮助或指向正确方向的指示

0 个答案:

没有答案