所以我试图弄清楚如何使用Python注册全局键盘钩子.从我所读到的,似乎没有在DLL中没有回调.如果您使用WH_KEYBOARD_LL.我无法确认这一点,但我觉得令人鼓舞的是,如果我试图说出来,我就不会像我那样得到1428错误WH_CBT.
我得到一个钩子手柄,但是当我按下键盘上的按钮时,没有任何东西出现,正如我所料.
有什么想法为什么我的回调没有被调用?或者这甚至可能吗?
相关代码:
import time
import string
import ctypes
import functools
import atexit
import pythoncom
from ctypes import windll
hookID = 0
class Keyboard(object):
KEY_EVENT_DOWN = 0
KEY_EVENT_UP = 2
KEY_ENTER = 2
KEY_SHIFT = 16
KEY_SPACE = 32
HOOK_ACTION = 13
HOOK_KEYBOARD = 13
HOOK_KEYDOWN = 0x100
HOOK_KEYUP = 0x101
class Hook:
'''Holds general hook information'''
def __init__(self):
self.hook = 0
self.struct = None
class HookStruct(ctypes.Structure):
'''Structure that windows returns for keyboard events'''
__fields__ = [ …Run Code Online (Sandbox Code Playgroud)