小编Tim*_*ham的帖子

使用Python和SetWindowsHookExA应用低级键盘钩子

所以我试图弄清楚如何使用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)

python winapi

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×1

winapi ×1