我在一个问题上苦苦挣扎了好几天,但无法让它发挥作用。
我刚刚开始使用 python,现在已经面临着我在这个项目中将面临的最大问题。
情况是这样的:我必须编写一个扫描条形码的程序。将其传达给在线服务并打印 PDF。这一切都很好,但我也想在窗口“失焦”时扫描条形码。所以我想让人们在最小化窗口的同时使用条形码扫描仪进行扫描。
我正在运行 Windows 8,并且正在使用 python 3.3。条形码扫描仪是一种 HID 设备,它本身就像一个键盘。我已经尝试将此项目转换为 python 3.3,但它不起作用。 -->http://learn.adafruit.com/barcode-scanner/overview http://learn.adafruit.com/barcode-scanner/overview我最终遇到了各种各样的错误,我仍然不完全理解。
今天我尝试使用 pywinusb,但该模块似乎在查找任何 HID 设备方面存在问题,因为它也找不到我的键盘和鼠标。
也许这是一个复杂的问题,但希望有人有这方面的经验并且知道如何使其发挥作用。
如果条形码扫描仪将自己呈现为键盘,那么您基本上想要的不就是一个在后台运行的键盘记录器吗?
寻找它,this http://www.daniweb.com/software-development/python/threads/229564/python-keylogger是“python keylogger”的第一个谷歌结果之一 - 根据消息来源,它需要pyWin32 http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/ and pyHook http://www.lfd.uci.edu/~gohlke/pythonlibs/。我删除了日志记录以将代码示例减少到最少,只需将处理代码放入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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)