我几天都在努力解决问题,但我无法让它发挥作用。 我刚刚开始使用python,我现在已经面临着我将在这个项目中遇到的最大问题。
情况就是这样:我必须制作扫描条形码的程序。将此信息传达给在线服务并打印PDF。这一切都很好,但我也想在窗口“失焦”时扫描条形码。因此,我想让人们在条形码扫描仪最小化的情况下使用条形码扫描仪进行扫描。
我正在运行Windows 8,我正在使用python 3.3。条形码扫描仪是一个HID设备,它本身就是一个键盘。我已经尝试将此项目转换为python 3.3,但它不起作用。 - > http://learn.adafruit.com/barcode-scanner/overview我最终遇到了各种各样的错误,我仍然没有完全理解。
今天我尝试使用pywinusb,但是这个模块似乎有关于找到任何HID设备的问题,因为它也找不到我的键盘和鼠标。
也许这是一个复杂的问题,但希望有人对此有所了解,并且知道如何使其发挥作用。
答案 0 :(得分:2)
如果条形码扫描器本身就是一个键盘,那么基本上你不想要一个在后台运行的键盘记录器吗?
正在搜索它,this是“python keylogger”的第一个谷歌搜索结果之一 - 根据消息来源,它需要pyWin32和pyHook。我删除了日志记录以将代码示例减少到最小,只需将处理代码放在OnKeyboardEvent
中。我对此进行了测试,它可以在Windows 7上安装我的Python 2.7,但模块应与Python 3.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()