PCのさまざまなコンポーネントを監視するプロジェクトでDirectInput8を使用しています。ジョイスティックを監視するには、DirectInput8 を使用します。データは、タイプとして DI8DEVCLASS_GAMECTRL およびフラグとして DIEDFL_ATTACHEDONLY を持つすべてのジョイスティックを列挙することによって取得されます。最近、複数のジョイスティックが表示されていることに気付きました。最初に、再起動の間にコンポーネントを保存する xml ファイルを確認しました。ジョイスティックには Logitech Extreme 3d pro という 2 つのエントリがあり、それぞれに固有の製品 GUID がありました。ファイルをバックアップして削除し、マシンを再起動した後にアプリを起動したときにマシンの再スキャンを効果的に強制しました。同じ問題が発生し、GUID をログアウトすることができましたが、GUID はそれぞれ異なります。システムにはジョイスティックが 1 つしか接続されていませんが、USB ハブを介して接続されています。ハブは私が見ているガイドに影響を与えていますか? また、これはおそらく5回に1回しか発生しませんでした。
例:
ジョイスティック製品 GUID: 3C6A972000000000504944564944 ジョイスティック インスタンス GUID: 3C6A972097C11E3800144455354
ジョイスティック製品 GUID: DA83AFB000000000504944564944 ジョイスティック インスタンス GUID: DA83AFB0D7B211E2800144455354