バーコード スキャナーがあり、RAWINPUT を使用して、傍受している WM_INPUT メッセージを発行しています。
しかし、私が取り組んでいるチェックアウト ソフトウェアは、他の目的で使用される Windows PC で実行されています。チェックアウトは、使用していないときはシステム トレイに最小化されますが、何かがスキャンされるとすぐにポップアップします。
これはすべて機能しますが、WM_INPUT イベントがアクティブなアプリケーション (たとえば望ましくない Word 文書) に渡されています。これをブロックする方法はありますか?使用後にメッセージをキャンセルして引き継がせないことはできますか?
これは、この質問で少し前にカバーされていることを知っています。
Win32: WH_KEYBOARD_LL でデバイス情報を取得 || Raw Input 使用時の WM_INPUT でのブロック入力
スキャナーを処理してラップするために C++ コードを少し書く必要があるかどうかは気にしません。しかし、私は解決策を見つける必要があります。C# でフックを使用できますが、RAW INPUT モデルのように元のデバイスを識別できないという問題があります。
どんなアイデアでも大歓迎です。