DirectInputからRawInputにゲームパッドの処理のためのアプリケーションを切り替えています。私は各ゲームパッドに人間が解読可能な説明を提示したいと思います。理想は、デバイスマネージャに表示されるデバイステキストですが、USB製品の説明も同様です。どの方法も管理者の許可なしで機能するはずです。RawInput HIDデバイスの人間が読める名前を取得するにはどうすればいいですか?
これまでのところ、私は1つを見つけましたset of clues:HKLM\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM
のレジストリにテキストフィールドがあり、DirectInputの名前と同じであるようです。これは完璧ではありません - 私はデバイスマネージャで英語で表示されるゲームパッドを持っていますが、レジストリにはasと表示されます。
WM_INPUT
で提供されているハンドルからデバイスマネージャの説明にアクセスする方法はありますか? HidD_GetProductString
は有望ですが、私はRawInputハンドルからHidトップレベルのコレクションハンドルを取得する方法がわかりません。
編集:私はSETUPAPIから必要な情報を抽出するのに十分であり、デバイスインスタンスパス(例えば\\?\HID#VID_1267&PID_A001#8&1d630df6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
を、持っている誰もが、この指定されたインスタンス・パスに到達する方法を知っている私がしました