在Python中窗口“不聚焦”时读取HID输入

2024-05-16 02:20:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我为一个问题苦苦挣扎了几天,但我无法让它发挥作用。 我刚刚开始使用python,现在我已经面临这个项目中我将要面对的最大问题。在

情况是这样的:我必须制作一个扫描条形码的程序。将此信息传递到联机服务并打印PDF。这一切都很好,但我也想扫描条码时,窗口是“失去焦点”。所以我想让人们在最小化窗口的同时用条形码扫描仪扫描。在

我运行的是windows8和python3.3。条形码扫描仪是一种HID设备,它以键盘的形式出现。我已经尝试过将这个项目转换成python3.3,但是它不起作用。-->;http://learn.adafruit.com/barcode-scanner/overview我以各种各样的错误告终,这些错误我仍然不完全理解。在

今天我试着用pywinusb,但是这个模块在寻找HID设备方面似乎有问题,因为它也找不到我的键盘和鼠标。在

也许这是一个复杂的问题,但希望有人对此有足够的经验,并知道如何让这个工作。在


Tags: 项目程序信息pdf错误情况键盘形式
1条回答
网友
1楼 · 发布于 2024-05-16 02:20:11

如果条形码扫描器以键盘的形式出现,那么你想要的不是一个在后台运行的键记录器吗? 搜索它,this是google搜索“python keylogger”的第一批结果之一——根据消息来源,它需要pyWin32和{a3}。我删除了日志以将代码样本减少到最小,只需将处理代码放入OnKeyboardEvent。我对此进行了测试,它可以在windows7上安装python2.7,但是这些模块应该与python3.3兼容。在

import pythoncom, pyHook, sys, logging

def OnKeyboardEvent(event):
    print "Key: ", chr(event.Ascii)
    logging.log(10,chr(event.Ascii))
    return True

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

相关问题 更多 >