RawInputを使用して、複数のデバイスからの入力を区別できます。diffrenetデバイスに固有のデバイスVendorIDとProductIDを取得できますが、同じデバイス(2つの同一のキーボードなど)でも同じですが、デバイスGUIDも提供します(システムでは、私が理解しているように、システムに固有です。 this)と、2つの同一のデバイスからでも入力を区別するのに役立つその他のデータ。
RFIDスキャナーのVID&PIDを取得し、すべての入力メッセージをそれと比較して、デバイスからシンボルのみを取得することができます。
さらに、RFIDスキャナーはデータを非常に高速に入力すると思います。そのため、VIDとPIDのペアを知らなくても、シンボルのストローク全体を入力するために使用された時間を測定し、RFIDスキャナーとキーボードを区別できます。
不要な入力を削除するには、ウィンドウフックを使用できます。
ほとんど忘れられていましたが、マイクロソフトはPOSデバイス用のフレームワークを開発しましたが、それは.NET用であり、POSfor.NETと呼ばれています。多分それは助けになるでしょう、私の場合、私はそれを使うことができません。
PS:私は現在このパズルを自分で解決していますが、バーコードスキャナーを使用しています(VID&PIDを知らずにバーコードスキャナー入力を読み取る)