2

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

4

3 に答える 3

1

同様の問題がありました...マシン間で GUID を複製したい VID/PID の DirectInput レジストリ設定をエクスポートしました。

したがって、regedit で次の場所に移動します。

[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_[Whatever]&PID_[Whatever]\

右クリックし、[エクスポート] を選択して .reg ファイルを作成し、目的のマシンに移動してダブルクリックします。

于 2013-12-12T19:30:14.477 に答える
0

これを見つけるのは大変でしたが、テスターを観察したところ、彼らは複数のユーザー アカウントにログインしており、返された GUID がユーザーごとに異なり、これが問題の原因であることがわかりました。これを反映するようにドキュメントが更新されるとよいでしょう。

于 2014-02-21T00:19:55.487 に答える