質問

Windowsで3Dゲーム用のランチャーアプリケーションを開発しています。構成「INI」ファイルでは、DXDIAG.EXEによって返されるデバイス識別子GUIDのように、ユーザーが目的のデバイスのハードウェアGUIDを指定する必要があります。

システム上の使用可能なアダプターをリストしようとしています。ユーザーが1つを選択して、そのデバイスのハードウェアガイドをINIファイルにロードできるようにします。

これを試みるための多くの方法を調べました。 System.managementクラスを使用してみましたが、特定のドライバーGUIDではなくクラスGUIDを返します。 Setupapi.h関数にネイティブコールを使用してみましたが、特定のデバイス識別子GUIDをリストできないようです。 GUIDがそこに存在するかどうかを確認するために、レジストリを調べてみました。運はありません。

私の最良のアイデアは、おそらくManaged DirectXライブラリを使用して、DXDIAGがどのように行うかを考慮して、私が探しているGUIDを返すことでした。 .NETアプリケーション用のSharpDX Managed DirectXインターフェイス(フレームワーク3.5をターゲットにしている)を使用して、各ドライバーに関するハードウェア情報を列挙して収集することができましたが、繰り返しますが、DXDIAGが返すのと同じガイドを返すことができませんでした。

私は本当に解決策のために立ち往生しています。ヘルプ?

役に立ちましたか?

解決

自分でそれを解決することができました。

これを解決するための最良の方法は、DirectXを使用することでした。インポートされたDXライブラリは、アプリをx86に変更しました。私が探していたコードは次のとおりです。

Manager.Adapters[0].Information.DeviceIdentifier
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top