2017-02-14 6 views
1

出力レポートをUSB「キーボード」に送信する必要がありますが、USBデバイスでCreateFileを使用すると、Windowsは無効なハンドルを返します。これは、Windowsがデバイスを排他モードで開いているためです。それでも出力レポートをキーボードに送信するにはどうすればよいですか?CキーボードでUSBキーボードステータスを設定する

私はすでにHidP_Xxxx関数を調べましたが、それらはすべて有効なハンドルで成功するためにはCreateFileが必要です。また、ダイレクトインプットのSendDeviceDataのドキュメントには、そのデバイスでは動作せず、代わりにHIDを使用するデバイスはないと述べています。そのページでHIDドキュメントへのリンクが壊れています。

+0

キーボードは、USBかどうかは、出力デバイスではなく入力デバイスです。キーボードにどのような出力を期待しますか?また、コードはどこですか? – dumetrulo

+0

LEDステータスのレポートを書き込むUSBキーボードのサポート。私が話そうとしている "キーボード"は、実際にはバーコードスキャナーであり、ドキュメントは、特定の順序でLEDステータスビットがセット/クリアされた1バイトの出力レポートを送信するように指示しています。これは、バーコードスキャナを正しいモードにするために必要です。 – DevLocus

+0

HIDAPIを試してみてください:http://www.signal11.us/oss/hidapi/ –

答えて

0

多分これは、バーコードスキャナのドライバ(.infファイル)の問題と、それはレジストリに設定し、いくつかの特定のキーでは、以下のリンク

多分(AddRegエントリのINFファイルをチェックし、レジストリをきれいにして、もう一度スキャナを再インストールするUSBDeviewのようなプログラムを使用)またはWindows 10 hidscanner.dll手動

加えて、バーコードスキャナ用排他的アクセスレジストリキーを削除しようとバギーhttps://answers.microsoft.com/en-us/windows/forum/windows_10-hardware/pos-hid-barcode-scanner-drivers-being-deleted/206b5354-06e0-47cb-98b8-805f525e130e、のようです

+0

を参照してください。バーコードスキャナーは、USBキーボードクラスのデバイスとしてシステムに接続されています。 「ドライバーレス」HIDセットアップを使用します。 USBキーボードクラスデバイスへの排他的アクセスを取るWindowsの動作を修正するための.infファイルはありません。 USBキーボードクラスデバイスへの排他的アクセスは、Windowsデバイス管理システムにハードコードされています。これは、セキュリティ上の理由から(キーロガーを別の読み取り専用ハンドルをキーボードに開くだけでブロックしようとする)ために行います。 – DevLocus

+0

わかりません、回答を残しておいて、誰かを助けるかもしれません... –

関連する問題