4

数日間問題に取り組んでいますが、うまくいきません。私はPythonを使い始めたばかりで、このプロジェクトで直面する最大の問題にすでに直面しています。

状況は次のとおりです。バーコードをスキャンするプログラムを作成する必要があります。これをオンライン サービスに伝え、PDF を印刷します。これはすべて正常に機能しますが、ウィンドウが「焦点が合っていない」ときにバーコードもスキャンしたいと考えています。そのため、ウィンドウを最小化した状態でバーコード スキャナーを使用してスキャンできるようにしたいと考えています。

私はWindows 8を実行しており、Python 3.3で作業しています。バーコード スキャナは HID デバイスであり、キーボードとして表示されます。このプロジェクトを python 3.3 に変換しようとしましたが、うまくいきません。--> http://learn.adafruit.com/barcode-scanner/overviewあらゆる種類のエラーが発生しますが、まだ完全には理解できていません。

今日、pywinusb を使用しようとしましたが、このモジュールは、キーボードとマウスも検出できないため、HID デバイスの検出に関して問題があるようです。

複雑な質問かもしれませんが、誰かがこれに慣れていて、これを機能させる方法を知っていることを願っています。

4

1 に答える 1

1

バーコード スキャナーがキーボードとして表示される場合、基本的に必要なのはバックグラウンドで実行されるキー ロガーではありませんか? それを検索すると、これは「pythonキーロガー」の最初のGoogle結果の1つでした-ソースによると、pyWin32pyHookが必要です。コードサンプルを最小限に抑えるためにロギングを削除し、処理コードを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()
于 2013-02-07T11:54:36.170 に答える